Benvenuto di nuovo nella Home delle API di formato file! Nel recente passato, ho scritto un paio di post sul blog per coprire vari scenari di conversione di Word (DOC/DOCX) in PDF a livello di codice in applicazioni .NET (usando C#) e Java. Poiché questa è una funzionalità popolare e ampiamente utilizzata, ho pensato di coprirla anche per C++. Pertanto, in questo post, ti mostrerò come convertire Word DOC/DOCX in PDF nelle applicazioni C++. Questo articolo affronta le seguenti conversioni da Word a PDF:
- Semplice Word DOC/DOCX in PDF in C++.
- DOCX in PDF con standard particolari es. PDF 1.5, PDF/A-1a, ecc.
- Conversione di pagine selezionate di un DOCX in PDF.
- Applica la compressione di immagini/testo nella conversione da DOCX a PDF.
Libreria del convertitore da Word a PDF C++
Aspose.Words for C++ è una libreria avanzata per creare e manipolare formati di documenti Word all’interno di applicazioni C++ senza richiedere MS Word. Puoi installarlo tramite NuGet o scarica il pacchetto completo contenente i file della libreria e pronto per eseguire esempi di codice sorgente.
Converti Word DOC/DOCX in PDF in C++
La conversione di un documento Word in PDF è semplice come una torta utilizzando Aspose.Words per C++. Di seguito sono riportati i passaggi per convertire un file DOC/DOCX in PDF.
- Crea un oggetto della classe Document e inizializzalo con il percorso del documento di Word.
- Chiama il metodo Document->Save() per salvare il documento come PDF.
L’esempio di codice seguente mostra come convertire DOCX in PDF in C++.
// Carica il documento dal disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Imposta il percorso PDF di output
System::String outputPath = u"DOCX-to-PDF.pdf";
// Converti DOCX in PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";
Inserisci il documento di Word
Documento PDF convertito
Converti DOCX in PDF/A o altri standard PDF in C++
Il formato PDF supporta vari standard PDF inclusi PDF/A, PDF/E e così via. Potrebbero verificarsi casi in cui è necessario convertire file Word in uno standard particolare come PDF/A-1a. In tal caso, Aspose.Words per C++ consente di impostare lo standard PDF desiderato per il PDF convertito. Di seguito sono riportati i passaggi per impostare lo standard PDF nella conversione da Word a PDF:
- Crea un oggetto della classe Document e inizializzalo con il percorso del file DOCX.
- Crea un oggetto della classe PdfSaveOptions e imposta la conformità PDF utilizzando il metodo PdfSaveOptions->setCompliance().
- Chiama il metodo Document->Save() per salvare il documento come PDF.
L’esempio di codice seguente mostra come convertire Word DOCX in PDF con lo standard PDF/A-1a.
// Carica il documento dal disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Imposta il percorso PDF di output
System::String outputPath = u"DOCX-to-PDFA.pdf";
// Imposta le opzioni PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// Salva il documento in formato PDF.
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";
Converti le pagine selezionate di una parola in PDF in C++
Puoi anche convertire solo le pagine selezionate invece di convertire l’intera Word in PDF. Di seguito sono riportati i passaggi per convertire solo le pagine desiderate di Word in PDF:
- Carica il documento di Word usando la classe Document.
- Imposta l’indice della pagina iniziale usando il metodo PdfSaveOptions->setPageIndex().
- Imposta il numero di pagine che vuoi convertire usando il metodo PdfSaveOptions->setPageCount().
- Salva il documento come PDF usando il metodo Document->Save().
L’esempio di codice seguente mostra come convertire le pagine selezionate di DOCX in PDF in C++.
// Carica il documento dal disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Imposta il percorso PDF di output
System::String outputPath = u"DOCX-to-PDF.pdf";
// Imposta le opzioni PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// Salva il documento in formato PDF.
doc->Save(outputPath, options);
Applica compressione immagine/testo in DOCX in conversione PDF
Puoi anche comprimere il documento PDF risultante per ridurne le dimensioni. Aspose.Words per C++ consente di applicare la compressione del testo e dell’immagine utilizzando rispettivamente i metodi PdfSaveOptions->setTextCompression() e PdfSaveOptions->setImageCompression(). L’esempio di codice seguente mostra come applicare la compressione durante la conversione di DOCX in PDF in C++.
// Carica il documento dal disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Imposta il percorso PDF di output
System::String outputPath = u"DOCX-to-PDF.pdf";
// Imposta le opzioni PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// Imposta la qualità JPEG
options->set_JpegQuality(100);
// Salva il documento in formato PDF
doc->Save(outputPath, options);
Ulteriori informazioni su Aspose.Words per C++
Puoi esplorare di più su Aspose.Words per C++ usando la documentazione. Nel caso in cui tu possa trovare qualcosa di confuso, sentiti libero di farcelo sapere tramite il nostro forum.