A conversão de Word para PDF é uma prática comum nos dias de hoje e é preferível antes de compartilhar os documentos. O MS Word fornece um recurso interno para salvar documentos do Word como PDF, no entanto, pode haver um caso em que você deseja converter um documento do Word em PDF programaticamente, como em seus aplicativos da Web, ou pode exigir conversões em lote do Word para PDF sem instalar o MS Office. Portanto, neste artigo, você aprenderá como converter DOCX ou DOC em PDF usando C# em .NET ou .NET Core framework.
Conversão de C# DOCX para PDF - Cenários
Neste artigo, você aprenderá como:
- Converter Word DOCX para PDF em C#
- Converta as páginas desejadas do documento do Word para PDF em C#
- Conversão de Word para PDF com um padrão de PDF específico, como PDF 1.7, PDF/A-1a, etc.
- Converter Word para PDF com compressão de imagem/texto em C#
- DOCX/DOC para PDF com assinatura digital em C#
- Conversão de Word para PDF com a qualidade JPEG desejada para imagens
API C# .NET para converter DOCX em PDF
Aspose.Words for .NET é uma API poderosa para criar e manipular formatos populares de documentos do Word. A API também fornece uma maneira fácil de converter documentos do Word em PDF com alto grau de fidelidade. Portanto, para conversão de Word para PDF em C#, primeiro adicionaremos uma referência ao Aspose.Words for .NET DLL no projeto ou o instalaremos usando um dos métodos a seguir.
Usando o Gerenciador de Pacotes NuGet
- Crie/abra o projeto no Visual Studio.
- Vá para NuGet Package Manager e pesquise Aspose.Words.
- Instale o Aspose.Words for .NET.
Usando o Console do Gerenciador de Pacotes
PM> Install-Package Aspose.Words
Conversão simples de DOCX para PDF em C#
Para converter um documento do Word em PDF, você terá que invocar o método Document.Save() e especificar o nome do arquivo de saída com a extensão “.pdf”. O exemplo de código a seguir mostra como converter DOC em PDF em C#.
// Carregue o documento do disco.
Document doc = new Document("word.doc");
// Salvar como PDF
doc.Save("output.pdf");
Documento do Word
PDF convertido
Converter páginas selecionadas de DOCX para PDF em C#
Você também pode personalizar a conversão de Word para PDF especificando o intervalo de páginas que deseja obter no documento PDF resultante. Você pode converter as primeiras N páginas ou definir um intervalo de páginas especificando o índice da página inicial. O exemplo de código a seguir mostra como converter 3 páginas a partir da segunda página do DOCX para PDF em C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Converta 3 páginas a partir do índice 1 onde 0 é o índice da primeira página
options.PageIndex = 1;
options.PageCount = 3;
// Salvar Word como PDF
doc.Save("output.pdf", options);
C# Converter DOCX DOC para PDF com um padrão específico
Documentos PDF podem ser compatíveis com diferentes padrões de PDF, como PDF 1.7, PDF 1.5, PDF/A-1a, etc. De acordo com isso, Aspose.Words for .NET permite especificar o nível de conformidade de PDF na conversão de Word para PDF. Você pode especificar o nível de conformidade usando PdfCompliance enum. O exemplo de código a seguir mostra como definir o nível de conformidade na conversão de DOCX para PDF em C#.
Document doc = new Document("word.docx");
// Defina a conformidade com PDFSaveOption como PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// Converter Word para PDF
doc.Save("output.pdf", options);
C# Converter DOCX para PDF com compactação de texto/imagem
O formato PDF suporta compressão de texto e imagem para reduzir o tamanho do documento. Como um documento PDF pode ser volumoso em tamanho, a compactação de seu conteúdo facilita o upload, compartilhamento, impressão, etc. A compactação de texto e imagem também pode ser aplicada na conversão de DOC para PDF usando Aspose.Words for .NET.
Opções de compactação de texto
As seguintes opções de compactação de texto estão disponíveis em PdfTextCompression enum.
- None: Salvando PDF sem compactação de texto.
- Flate: Salvando PDF com compactação flate (ZIP).
Compressão de imagem
As seguintes opções de compactação de imagem estão disponíveis em PdfImageCompression enum.
- Auto: a API seleciona automaticamente a compactação mais apropriada para cada imagem no documento.
- Jpeg: Compressão para imagens JPEG (não suporta transparência).
O exemplo de código a seguir mostra como converter DOCX em PDF com compactação de texto e imagem em C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Compressão de texto e imagem
options.TextCompression = PdfTextCompression.Flate;
options.ImageCompression = PdfImageCompression.Auto;
// Salvar Word como PDF
doc.Save("output.pdf", options);
Conversão de C# DOCX para PDF com assinatura digital
Você também pode aplicar uma assinatura digital ao PDF de saída durante a conversão de Word para PDF. A classe CertificateHolder permite especificar o certificado digital e a senha. A classe PdfDigitalSignatureDetails permite fornecer os detalhes da assinatura digital como detentor do certificado, motivo, local e data/hora. O exemplo de código a seguir mostra como converter DOC/DOCX em PDF com uma assinatura digital em C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Detalhes das assinaturas digitais
CertificateHolder certHolder = CertificateHolder.Create("signature.pfx", "12345");
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(certHolder, "reason", "location", DateTime.Now);
// Salvar Word como PDF
doc.Save("output.pdf", options);
Converta DOCX para PDF com a qualidade JPEG desejada em C#
Você também pode especificar a qualidade JPEG desejada que deseja obter no documento PDF convertido usando a propriedade PdfSaveOptions.JpegQuality. O valor de JpegQuality pode variar de 0 a 100, onde 0 significa a pior qualidade, mas a compactação máxima e 100 significa a melhor qualidade, mas a compactação mínima.
O exemplo de código a seguir mostra como definir a qualidade JPEG ao converter DOCX em PDF em C#.
Document doc = new Document("word.docx");
// Definir a qualidade do JPEG
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// Converter Word para PDF
doc.Save("output.pdf", options);
Conclusão
Neste artigo, você aprendeu como converter DOCX ou DOC para PDF em C# com várias opções. Visite documentação do Aspose.Words for .NET para ver o conjunto completo de recursos oferecidos pela API. Para quaisquer dúvidas ou perguntas, entre em contato conosco através do nosso fórum.