Converter um documento em PDF

A capacidade de converter documentos de um formato para outro de forma fácil e fiável é uma característica fundamental do Aspose.Words. Um dos formatos mais populares para conversão é PDF-um formato de layout fixo, que preserva a aparência original de um documento durante sua renderização em várias plataformas. O termo “renderização” é usado em Aspose.Words para descrever o processo de conversão de um documento em um formato de arquivo que é paginado ou tem o conceito de páginas.

Converter um documento do Word em PDF

A conversão do Word para PDF é um processo bastante complexo que requer várias etapas de cálculo. Aspose.Words mecanismo de layout imita a maneira como o mecanismo de layout de página de Microsoft Word funciona, fazendo com que os documentos de saída de PDF pareçam o mais próximo possível do que você pode ver em Microsoft Word.

Com Aspose.Words pode converter programaticamente um documento do formato DOC ou DOCX para PDF sem utilizar o Microsoft Office. Este artigo explica como realizar esta conversão.

Convertendo DOCX ou DOC em PDF

A conversão do formato de Documento DOC ou DOCX para o formato PDF em Aspose.Words é muito fácil e pode ser realizada com apenas duas linhas de código que:

  1. Carregue seu documento em um objeto Document usando um de seus construtores, especificando o nome do documento com sua extensão de formato.
  2. Invoque um dos métodos Document.Save no objeto Document e especifique o formato de saída desejado como PDF inserindo um nome de arquivo com o “.PDF” Extensão.

O exemplo de código a seguir mostra como converter um documento de DOCX para PDF usando o método Save:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
auto doc = MakeObject<Document>(MyDir + u"Document.docx");
doc->Save(ArtifactsDir + u"BaseConversions.DocxToPdf.pdf");
view raw docx-to-pdf.h hosted with ❤ by GitHub

Você pode baixar o arquivo de modelo deste exemplo em Aspose.Words GitHub.

Converter para diferentes PDF Padrões

Aspose.Words fornece a enumeração PdfCompliace para suportar a conversão de DOC ou DOCX em vários padrões de formato PDF (Como PDF 1.7, PDF 1.5, etc.).

O exemplo de código a seguir demonstra como converter um documento para PDF 1.7 Usando PdfSaveOptions com conformidade para PDF17:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
auto doc = MakeObject<Document>(MyDir + u"Rendering.docx");
auto saveOptions = MakeObject<PdfSaveOptions>();
saveOptions->set_Compliance(PdfCompliance::Pdf17);
doc->Save(ArtifactsDir + u"WorkingWithPdfSaveOptions.ConversionToPdf17.pdf", saveOptions);

Converter imagens em PDF

A conversão para PDF não é restringida por Microsoft Word formatos de Documento. Qualquer formato suportado por Aspose.Words, incluindo criado programaticamente, também pode ser convertido para PDF. Por exemplo, podemos converter imagens de página única, como JPEG, PNG, BMP, EMF, ou WMF, bem como imagens de várias páginas, como TIFF e GIF, a PDF.

O exemplo de código a seguir mostra como converter imagens JPEG e TIFF em PDF:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
ConvertImageToPdf(ImagesDir + u"Logo.jpg", ArtifactsDir + u"BaseConversions.JpgToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Transparent background logo.png", ArtifactsDir + u"BaseConversions.PngToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Windows MetaFile.wmf", ArtifactsDir + u"BaseConversions.WmfToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Tagged Image File Format.tiff", ArtifactsDir + u"BaseConversions.TiffToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Graphics Interchange Format.gif", ArtifactsDir + u"BaseConversions.GifToPdf.pdf");
view raw image-to-pdf.h hosted with ❤ by GitHub
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
/// <summary>
/// Converts an image to PDF using Aspose.Words for .NET.
/// </summary>
/// <param name="inputFileName">File name of input image file.</param>
/// <param name="outputFileName">Output PDF file name.</param>
void ConvertImageToPdf(String inputFileName, String outputFileName)
{
std::cout << (String(u"Converting ") + inputFileName + u" to PDF ....") << std::endl;
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
// Read the image from file, ensure it is disposed.
{
SharedPtr<System::Drawing::Image> image = System::Drawing::Image::FromFile(inputFileName);
// Insert a section break before each new page, in case of a multi-frame TIFF.
builder->InsertBreak(BreakType::SectionBreakNewPage);
// We want the size of the page to be the same as the size of the image.
// Convert pixels to points to size the page to the actual image size.
SharedPtr<PageSetup> ps = builder->get_PageSetup();
ps->set_PageWidth(ConvertUtil::PixelToPoint(image->get_Width(), image->get_HorizontalResolution()));
ps->set_PageHeight(ConvertUtil::PixelToPoint(image->get_Height(), image->get_VerticalResolution()));
// Insert the image into the document and position it at the top left corner of the page.
builder->InsertImage(image, RelativeHorizontalPosition::Page, 0, RelativeVerticalPosition::Page, 0, ps->get_PageWidth(), ps->get_PageHeight(), WrapType::None);
}
doc->Save(outputFileName);
}

Para fazer este código funcionar, você precisa adicionar referências a Aspose.Words e System.Drawing ao seu projeto.

Ver Também