Convertir EPUB a PDF
Aspose.PDF para C++ te permite simplemente convertir archivos EPUB al formato PDF.
EPUB (abreviatura de publicación electrónica) es un estándar de libro electrónico libre y abierto del International Digital Publishing Forum (IDPF). Los archivos tienen la extensión .epub. EPUB está diseñado para contenido reflujo, lo que significa que un lector EPUB puede optimizar el texto para un dispositivo de visualización en particular.
EPUB también admite contenido de diseño fijo. El formato está diseñado como un único formato que los editores y las casas de conversión pueden usar internamente, así como para distribución y venta. Sustituye el estándar Open eBook. La versión EPUB 3 también está respaldada por el Grupo de Estudio de la Industria del Libro (BISG), una asociación líder en el comercio de libros para las mejores prácticas estandarizadas, investigación, información y eventos, para el empaquetado de contenido.
Pasos de conversión:
- Cree una Clase String para el nombre de la ruta y el nombre del archivo.
- Cree una instancia de la clase EpubLoadOptions.
- Cree una instancia de la clase Document con el nombre del archivo fuente mencionado y las opciones.
- Cargue y Guarde el archivo de entrada.
El siguiente fragmento de código muestra cómo convertir archivos EPUB a formato PDF con C++.
void ConvertEPUBtoPDF()
{
std::clog << "EPUB to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("aliceDynamic.epub");
String outfilename("epub_test.pdf");
auto options = MakeObject<EpubLoadOptions>();
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
}
std::clog << "EPUB to PDF convert: End" << std::endl;
}
Intente convertir EPUB a PDF en línea
Aspose.PDF para C++ le presenta una aplicación gratuita en línea “EPUB a PDF”, donde puede intentar investigar la funcionalidad y calidad con la que trabaja.
Convertir Texto a PDF
Aspose.PDF para C++ soporta la función de convertir texto plano y archivo de texto preformateado a formato PDF.
Convertir texto a PDF significa agregar fragmentos de texto a la página PDF. En cuanto a los archivos de texto, estamos tratando con 2 tipos de texto: preformateado (por ejemplo, 25 líneas con 80 caracteres por línea) y texto no formateado (texto plano). Dependiendo de nuestras necesidades, podemos controlar esta adición nosotros mismos o confiarla a los algoritmos de la biblioteca.
Convertir archivo de texto plano a PDF
En el caso del archivo de texto plano, podemos usar la siguiente técnica:
- Crea una Clase String para el nombre de ruta y el nombre de archivo.
- Lee el archivo de texto fuente usando TextReader
- Instancia un objeto Document.
- Añade una Página a la colección de páginas del documento.
- Crea un nuevo objeto de TextFragment y pasa el objeto TextReader a su constructor.
- Añade un nuevo párrafo de texto en la colección de párrafos y pasa el objeto TextFragment.
- Carga y Guarda el archivo de entrada.
void ConvertTextToPDF()
{
std::clog << "Conversión de Texto a PDF: Iniciar" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.txt");
String outfilename("TextToPDF.pdf");
// Lee el archivo de texto fuente
String content = System::IO::File::ReadAllText(_dataDir + infilename);
// Instancia un objeto Document llamando a su constructor vacío
auto document = MakeObject<Document>();
// Añade una nueva página en la colección de Páginas del Documento
auto page = document->get_Pages()->Add();
// Crea una instancia de TextFragment y pasa el texto del objeto lector a su constructor como argumento
auto text = MakeObject<TextFragment>(content);
// Añade un nuevo párrafo de texto en la colección de párrafos y pasa el objeto TextFragment
auto paragraphs = page->get_Paragraphs();
paragraphs->Add(text);
// Guarda el archivo PDF resultante
document->Save(_dataDir + outfilename);
std::clog << "Conversión de Texto a PDF: Fin" << std::endl;
}
Convertir archivo de texto preformateado a PDF
Convertir texto preformateado es como texto plano, pero necesitas realizar algunas acciones adicionales como establecer márgenes, tipo de fuente y tamaño. Obviamente, la fuente debe ser monoespaciada (por ejemplo, Courier New).
Sigue estos pasos para convertir texto preformateado a PDF con C++:
- Instanciar un objeto Document llamando a su constructor vacío.
- Establecer márgenes izquierdo y derecho para una mejor presentación.
- Instanciar el objeto Document y agregar una nueva página en la colección Pages.
- Cargar y Guardar el archivo de imagen de entrada.
void ConvertPreFormattedTextToPdf()
{
std::clog << "Texto preformateado a PDF: Inicio" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("rfc822.txt");
String outfilename("TextToPDF.pdf");
// Leer el archivo de texto como arreglo de cadenas
auto lines = System::IO::File::ReadAllLines(_dataDir + infilename);
// Instanciar un objeto Document llamando a su constructor vacío
auto document = MakeObject<Document>();
// Agregar una nueva página en la colección Pages del Document
auto page = document->get_Pages()->Add();
// Establecer márgenes izquierdo y derecho para una mejor presentación
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
for (int index = 0; index < lines->get_Length(); index++)
{
// verificar si la línea contiene el carácter "form feed"
// ver https://en.wikipedia.org/wiki/Page_break
auto line = lines->idx_get(index);
if (line.StartsWith(u"\x0c"))
{
if (document->get_Pages()->get_Count() > 3) break;
page = document->get_Pages()->Add();
// Establecer márgenes izquierdo y derecho para una mejor presentación
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
}
else
{
// Crear una instancia de TextFragment y
// pasar la línea a su constructor como argumento
auto text = MakeObject<TextFragment>(line);
// Agregar un nuevo párrafo de texto en la colección de párrafos y pasar el objeto TextFragment
page->get_Paragraphs()->Add(text);
}
}
// Guardar el archivo PDF resultante
document->Save(_dataDir + outfilename);
std::clog << "Texto preformateado a PDF: Fin" << std::endl;
}
Intenta convertir TEXTO a PDF en línea
Aspose.PDF para C++ te presenta la aplicación gratuita en línea “Texto a PDF”, donde puedes probar la funcionalidad y calidad con la que trabaja.
Convertir XPS a PDF
Aspose.PDF para C++ admite la función de convertir archivos XPS al formato PDF. Revisa este artículo para resolver tus tareas.
El tipo de archivo XPS está principalmente asociado con la Especificación de Papel XML por Microsoft Corporation. La Especificación de Papel XML (XPS), anteriormente con nombre en clave Metro y que subsume el concepto de marketing Next Generation Print Path (NGPP), es la iniciativa de Microsoft para integrar la creación y visualización de documentos en su sistema operativo Windows.
Para convertir XPS a PDF con Aspose.PDF para C++, hemos introducido una clase llamada XpsLoadOption que se utiliza para inicializar un objeto LoadOptions. Luego, este objeto se pasa como argumento durante la inicialización del objeto Document y ayuda al motor de renderizado de PDF a determinar el formato de entrada del documento de origen.
El siguiente fragmento de código muestra el proceso de conversión de un archivo XPS a formato PDF con C++.
void ConvertXPStoPDF()
{
std::clog << "XPS a PDF convertir: Comenzar" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.oxps");
String outfilename("XPStoPDF.pdf");
auto options = MakeObject<XpsLoadOptions>();
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
};
std::clog << "XPS a PDF convertir: Terminar" << std::endl;
}
Intenta convertir el formato XPS a PDF en línea
Aspose.PDF para C++ te presenta la aplicación gratuita en línea “XPS a PDF”, donde puedes probar la funcionalidad y calidad con la que trabaja.
Convertir XML a PDF
El formato XML se utiliza para almacenar datos estructurados. Hay varias maneras de convertir XML a PDF en Aspose.PDF.
Convertir XSL-FO a PDF
- Crea una Clase String para el nombre de la ruta y el nombre del archivo.
- Instanciar el objeto XslFoLoadOption.
- Configurar la estrategia de manejo de errores.
- Instanciar el Objeto Document.
- Guardar el archivo de imagen de entrada.
void Convert_XSLFO_to_PDF()
{
std::clog << "XSL-FO a PDF convertir: Inicio" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilenameXSL("c:\\samples\\employees.xslt");
String infilenameXML("c:\\samples\\employees.xml");
String outfilename("XMLFOtoPDF.pdf");
// Instanciar objeto XslFoLoadOption
auto options = new XslFoLoadOptions(infilenameXSL);
// Establecer estrategia de manejo de errores
options->ParsingErrorsHandlingType = XslFoLoadOptions::ParsingErrorsHandlingTypes::ThrowExceptionImmediately;
// Crear objeto Document
auto document = MakeObject<Document>(infilenameXML, options);
document->Save(_dataDir + outfilename);
}
Intenta convertir XML a PDF en línea
Aspose.PDF para C++ te presenta la aplicación en línea gratuita “XML a PDF”, donde puedes intentar investigar la funcionalidad y calidad con la que trabaja.