Bem-vindo novamente ao Home of File Format APIs! No passado recente, escrevi algumas postagens de blog para cobrir vários cenários de conversão de Word (DOC/DOCX) para PDF programaticamente em aplicativos .NET (usando C#) e Java. Como esse é um recurso popular e amplamente usado, pensei em cobri-lo também para C++. Portanto, neste post, mostrarei como converter Word DOC/DOCX para PDF em aplicativos C++. Este artigo aborda as seguintes conversões de Word para PDF:
- Simples Word DOC/DOCX para PDF em C++.
- DOCX para PDF com um padrão específico, ou seja, PDF 1.5, PDF/A-1a, etc.
- Convertendo páginas selecionadas de um DOCX para PDF.
- Aplique compressão de imagem/texto na conversão de DOCX para PDF.
Biblioteca C++ do Conversor de Word para PDF
Aspose.Words for C++ é uma biblioteca avançada para criar e manipular formatos de documentos do Word dentro de aplicativos C++ sem exigir o MS Word. Você pode instalá-lo via NuGet ou download o pacote completo contendo os arquivos de biblioteca, bem como exemplos de código-fonte prontos para executar.
Converter Word DOC/DOCX para PDF em C++
Converter um documento do Word para PDF é tão simples quanto usar o Aspose.Words para C++. A seguir estão as etapas para converter um arquivo DOC/DOCX em PDF.
- Crie um objeto da classe Document e inicialize-o com o caminho do documento Word.
- Chame o método Document->Save() para salvar o documento como PDF.
O exemplo de código a seguir mostra como converter DOCX em PDF em C++.
// Carregue o documento do disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Definir o caminho do PDF de saída
System::String outputPath = u"DOCX-to-PDF.pdf";
// Converter DOCX para PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";
Inserir documento do Word
Documento PDF convertido
Converter DOCX para PDF/A ou outros padrões de PDF em C++
O formato PDF suporta vários padrões de PDF, incluindo PDF/A, PDF/E e etc. Pode haver o caso de você precisar converter um arquivo do Word para um padrão específico, como PDF/A-1a. Nesse caso, o Aspose.Words para C++ permite definir o padrão PDF desejado para o PDF convertido. A seguir estão as etapas para definir o padrão de PDF na conversão de Word para PDF:
- Crie um objeto da classe Document e inicialize-o com o caminho do arquivo DOCX.
- Crie um objeto da classe PdfSaveOptions e defina a conformidade do PDF usando o método PdfSaveOptions->setCompliance().
- Chame o método Document->Save() para salvar o documento como PDF.
O exemplo de código a seguir mostra como converter Word DOCX em PDF com o padrão PDF/A-1a.
// Carregue o documento do disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Definir o caminho do PDF de saída
System::String outputPath = u"DOCX-to-PDFA.pdf";
// Definir opções de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// Salve o documento em formato PDF.
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";
Converter páginas selecionadas de um Word para PDF em C++
Você também pode converter apenas as páginas selecionadas em vez de converter todo o Word para PDF. A seguir estão as etapas para converter apenas as páginas desejadas do Word para PDF:
- Carregue o documento do Word usando a classe Document.
- Defina o índice da página inicial usando o método PdfSaveOptions->setPageIndex().
- Defina o número de páginas que deseja converter usando o método PdfSaveOptions->setPageCount().
- Salve o documento como PDF usando o método Document->Save().
O exemplo de código a seguir mostra como converter páginas selecionadas de DOCX em PDF em C++.
// Carregue o documento do disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Definir o caminho do PDF de saída
System::String outputPath = u"DOCX-to-PDF.pdf";
// Definir opções de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// Salve o documento em formato PDF.
doc->Save(outputPath, options);
Aplicar compressão de imagem/texto em DOCX para conversão de PDF
Você também pode compactar o documento PDF resultante para reduzir seu tamanho. Aspose.Words para C++ permite aplicar a compressão de texto e imagem usando os métodos PdfSaveOptions->setTextCompression() e PdfSaveOptions->setImageCompression() respectivamente. O exemplo de código a seguir mostra como aplicar compactação ao converter DOCX em PDF em C++.
// Carregue o documento do disco.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Definir o caminho do PDF de saída
System::String outputPath = u"DOCX-to-PDF.pdf";
// Definir opções de PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// Definir qualidade JPEG
options->set_JpegQuality(100);
// Salve o documento em formato PDF
doc->Save(outputPath, options);
Saiba mais sobre o Aspose.Words for C++
Você pode explorar mais sobre o Aspose.Words para C++ usando a documentação. Caso você encontre algo confuso, sinta-se à vontade para nos informar através do nosso fórum.