
¡Bienvenido de nuevo a la página principal de las API de formato de archivo! En el pasado reciente, escribí un par de publicaciones de blog para cubrir varios escenarios de conversión de Word (DOC/DOCX) a PDF mediante programación en aplicaciones .NET (usando C#) y Java. Dado que esta es una característica popular y ampliamente utilizada, pensé en cubrirla también para C++. Por lo tanto, en esta publicación, le mostraré cómo convertir Word DOC/DOCX a PDF en aplicaciones C++. Este artículo aborda las siguientes conversiones de Word a PDF:
- Simple Word DOC/DOCX a PDF en C++.
- DOCX a PDF con un estándar particular, es decir, PDF 1.5, PDF/A-1a, etc.
- Conversión de páginas seleccionadas de un DOCX a PDF.
- Aplique compresión de imagen/texto en la conversión de DOCX a PDF.
Biblioteca de conversión de Word a PDF de C++
Aspose.Words for C++ es una biblioteca avanzada para crear y manipular formatos de documentos de Word dentro de aplicaciones de C++ sin necesidad de MS Word. Puede instalarlo a través de NuGet o descargar el paquete completo que contiene los archivos de la biblioteca, así como ejemplos de código fuente listos para ejecutar.
Convierta Word DOC/DOCX a PDF en C++
Convertir un documento de Word a PDF es tan simple como usar Aspose.Words for C++. Los siguientes son los pasos para convertir un archivo DOC/DOCX a PDF.
- Cree un objeto de la clase Document e inicialícelo con la ruta del documento de Word.
- Llame al método Document->Save() para guardar el documento como PDF.
El siguiente ejemplo de código muestra cómo convertir DOCX a PDF en C++.
// Cargue el documento desde el disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Establecer la ruta del PDF de salida
System::String outputPath = u"DOCX-to-PDF.pdf";
// Convertir DOCX a PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";
Documento de Word de entrada

Documento PDF convertido

Convierta DOCX a PDF/A u otros estándares de PDF en C++
El formato PDF es compatible con varios estándares de PDF, incluidos PDF/A, PDF/E, etc. Es posible que necesite convertir un archivo de Word a un estándar en particular, como PDF/A-1a. En tal caso, Aspose.Words for C++ le permite establecer el estándar de PDF deseado para el PDF convertido. Los siguientes son los pasos para establecer el estándar de PDF en la conversión de Word a PDF:
- Cree un objeto de la clase Document e inicialícelo con la ruta del archivo DOCX.
- Cree un objeto de la clase PdfSaveOptions y configure el cumplimiento de PDF utilizando el método PdfSaveOptions->setCompliance().
- Llame al método Document->Save() para guardar el documento como PDF.
El siguiente ejemplo de código muestra cómo convertir Word DOCX a PDF con el estándar PDF/A-1a.
// Cargue el documento desde el disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Establecer la ruta del PDF de salida
System::String outputPath = u"DOCX-to-PDFA.pdf";
// Establecer opciones de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// Guarde el documento en formato PDF.
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";
Convertir páginas seleccionadas de Word a PDF en C++
También puede convertir solo las páginas seleccionadas en lugar de convertir todo el Word a PDF. Los siguientes son los pasos para convertir solo las páginas deseadas de Word a PDF:
- Cargue el documento de Word usando la clase Document.
- Establezca el índice de la página de inicio usando el método PdfSaveOptions->setPageIndex().
- Establezca el número de páginas que desea convertir utilizando el método PdfSaveOptions->setPageCount().
- Guarde el documento como PDF utilizando el método Document->Save().
El siguiente ejemplo de código muestra cómo convertir páginas seleccionadas de DOCX a PDF en C++.
// Cargue el documento desde el disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Establecer la ruta del PDF de salida
System::String outputPath = u"DOCX-to-PDF.pdf";
// Establecer opciones de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// Guarde el documento en formato PDF.
doc->Save(outputPath, options);
Aplicar compresión de imagen/texto en conversión de DOCX a PDF
También puede comprimir el documento PDF resultante para reducir su tamaño. Aspose.Words for C++ le permite aplicar la compresión de texto e imagen usando los métodos PdfSaveOptions->setTextCompression() y PdfSaveOptions->setImageCompression() respectivamente. El siguiente ejemplo de código muestra cómo aplicar compresión al convertir DOCX a PDF en C++.
// Cargue el documento desde el disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Establecer la ruta del PDF de salida
System::String outputPath = u"DOCX-to-PDF.pdf";
// Establecer opciones de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// Establecer calidad JPEG
options->set_JpegQuality(100);
// Guarda el documento en formato PDF
doc->Save(outputPath, options);
Más información sobre Aspose.Words for C++
Puede explorar más sobre Aspose.Words for C++ utilizando la documentación. En caso de que encuentre algo confuso, no dude en hacérnoslo saber a través de nuestro foro.