Conversión de documentos PDF a través de C++

Exportar PDF a Microsoft Office® Word, Excel, presentaciones de PowerPoint, imágenes, HTML y formatos de diseño fijo

Descripción general

Hay pocos casos en los que es necesario manipular documentos que no sean PDF mientras se tienen los datos de análisis disponibles en formatos PDF. Por lo tanto, para tales aplicaciones, habrá dos escenarios: agregar la funcionalidad de análisis de PDF dentro de su propia solución o agregar la funcionalidad de conversión de PDF para manipular datos a partir de los formatos admitidos. Para el segundo escenario deconvertir PDF a Word, Excel, HTML, imágenes o cualquier formato requerido, implementar el códigoC# PDF reader and converter dentro de .NET es simple. Estamos discutiendo aquí algunos casos para que los programadores puedan modificar estos fragmentos de código de conversión según sus requisitos.

Conversión de PDF a Microsoft Word 2003-2019

Ejemplo: Código C# para la conversión de PDF a Word

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToDOC.doc")

// Cargue el archivo PDF de origen
auto document = MakeObject<Document>(_dataDir + infilename);

// Guardar con las opciones de guardado
// Crear objeto DocSaveOptions
auto saveOptions = MakeObject<DocSaveOptions>();

// Establezca el modo de reconocimiento como Flow significa modo de reconocimiento completo
saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
// Otros dos modos son RecognitionMode.TextBox y RecognitionMode.EnhancedFlow

// Establezca la Proximidad horizontal como 2.5
saveOptions->set_RelativeHorizontalProximity(2.5f);

// Habilitar el valor para reconocer viñetas durante el proceso de conversión
saveOptions->set_RecognizeBullets(true);

// Guarde el archivo DOC resultante
document->Save(_dataDir + outfilename, saveOptions);

La biblioteca Aspose.PDF para .NET admite todas las conversiones de PDF a Word. En caso de que solo estemos convirtiendo documentos de Microsoft Word sin ninguna configuración especial, simplemente cargaremos el archivo PDF con el método Save de la clase Document y usaremos la ruta del documento de Word de salida y SaveFormat como parámetros. Para los casos especiales en los que sea necesario mejorar la distancia de las líneas, la resolución de la imagen y más ajustes, la API tiene la clase DocSaveOptions que expone todos esos ajustes.

Guardar PDF como archivos de Excel

Guardar PDF como archivos de Excel

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// Cargar documento PDF
auto document = MakeObject<Document>(_dataDir + infilename);
// Inicializar opciones de guardado de Excel
auto excelSave = MakeObject<ExcelSaveOptions>();
// Establecer el formato Excel XLSX de salida
excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);
// Minimizar el número de hojas de
excelSave->set_MinimizeTheNumberOfWorksheets(true);
// Convertir PDF a archivo de salida de Excel
document->Save(outfilename, excelSave);

SaveFormat.excel especializado Enumeración disponible para guardar PDF en formatos de salida XLS XLSX específicos de Microsoft Excel. Además, la**.NET PDF Library** también tiene una clase ExcelSaveOptions específica que no solo se ocupa de guardar en formatos de Excel, sino que también proporciona diferentes funciones y propiedades para configurar diferentes atributos, como el formato de salida exacto, minimizar número de hojas de trabajo y más.

Convertir PDF a presentaciones de PowerPoint

Ejemplo: Conversión de PDF a PowerPoint de código C#

// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample-pptx.pdf");
String outfilename("sample-pptx.pptx");
// Cargar documento PDF
Document pdfDocument = new Document("document.pdf");
auto pptxOptions = MakeObject<PptxSaveOptions>();
pptxOptions->set_SlidesAsImages(true);
// Guardar el archivo de salida
document->Save(_dataDir + outfilename, pptxOptions);

La API PDF .NET permite convertir páginas PDF en diapositivas de presentación de PowerPoint con texto o imágenes seleccionables al representar las diapositivas como imágenes. El patrón para guardar el formato de documento portátil en PowerPoint es casi el mismo: se carga el archivo mediante la clase Document y, a continuación, se llama al método Save con la ruta del archivo de salida y SaveFormat como parámetros. En el caso de la renderización con opciones de presentación especiales, los programadores pueden usar clase pptxSaveOptions con cualquier opción de renderizado específica relevante. Llamar al método de guardado y pasar las opciones como parámetro.

Conversión de formato de documento portátil PDF a HTML

Ejemplo: Código C# para la conversión de PDF a HTML

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToHTML.html")

// Cargar documento PDF de origen
auto document = MakeObject<Document>(_dataDir + infilename);

// Instanciar objeto de opciones de guardado de HTML
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// Especificar la carpeta independiente para PDF a HTML con imágenes
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// Especificar la opción de división para el HTML resultante en varias páginas
htmlOptions->set_SplitIntoPages(true);

document->Save(_dataDir + outfilename, htmlOptions);

La biblioteca de análisis de PDF admite guardar PDF en HTML en su conjunto, así como con recursos incrustados, incluidas imágenes. El procedimiento de conversión es el mismo que el de PDF a otros formatos para casos genéricos, como cargar el documento fuente y llamar al método Save con la ruta del archivo HTML de salida y SaveFormat.Html como parámetros. En caso de guardar con recursos incrustados, hay una clase HTMLSaveOptions que tiene varias opciones, como guardar imágenes en una carpeta específica durante la conversión, dividir el HTML resultante en varias páginas y más.

Convertir PDF a imágenes

Ejemplo: Código C# para la conversión de PDF a imágenes

// Cargar documento
auto document = MakeObject<Document>(_dataDir + u"ConvertAllPagesToBmp.pdf");

// Crear objeto Resolución
 auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); //300 dpi

// Crear dispositivo de imagen con atributos especificados
// Ancho, altura, resolución
System::SmartPtr<Aspose::Pdf::Devices::ImageDevice>
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// Para BMP, PNG, TIFF será BMPDevice, PNGDevice, TiffDevice respectivamente

// Convertir una página en particular y guardar la imagen para transmitirla
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// Cerrar stream
imageStream->Close();

Convertir páginas PDF en imágenes como PNG, JPEG, TIFF, BMP, etc. es fácil dentro de las aplicaciones basadas en.NET utilizando los fragmentos de código que se enumeran a continuación. Los desarrolladores pueden recorrer las páginas PDF después de cargar el archivo y convertir página por página al formato de imagen requerido. Los desarrolladores pueden establecer la resolución horizontal y vertical de las imágenes mediante Clase de resolución