La conversión de Word a PDF es una práctica común en estos días y se prefiere antes de compartir los documentos. MS Word proporciona una función integrada para guardar documentos de Word como PDF; sin embargo, puede haber un caso en el que desee convertir un documento de Word a PDF mediante programación, como en sus aplicaciones web, o puede necesitar conversiones de Word a PDF por lotes sin instalar MS Office. Entonces, en este artículo, aprenderá cómo convertir Word DOCX o DOC a PDF usando C# en .NET o .NET Core framework.
Escenarios de conversión de Word a PDF C#
En este artículo, aprenderá cómo:
- Convierta Word DOCX/DOC a PDF en C#
- Convierta las páginas deseadas de un documento de Word a PDF en C#
- Conversión de Word a PDF con un PDF estándar particular como PDF 1.7, PDF/A-1a, etc.
- Convierta Word a PDF con compresión de imagen/texto en C#
- DOCX/DOC a PDF con firma digital en C#
- Conversión de Word a PDF con la calidad JPEG deseada para las imágenes
Convertidor C# DOCX/DOC a PDF
Aspose.Words for .NET es una potente API para crear y manipular formatos de documentos de Word populares. La API también proporciona una manera fácil de convertir documentos de Word a PDF con un alto grado de fidelidad. Por lo tanto, para la conversión de Word a PDF en C#, primero agregaremos una referencia a Aspose.Words for .NET DLL en el proyecto o lo instalaremos mediante uno de los siguientes métodos.
Uso del Administrador de paquetes NuGet
- Cree/abra el proyecto en Visual Studio.
- Vaya al Administrador de paquetes NuGet y busque Aspose.Words.
- Instale Aspose.Words for .NET.
Uso de la consola del administrador de paquetes
PM> Install-Package Aspose.Words
Conversión de Word simple (DOCX/DOC) a PDF C#
Para convertir un documento de Word a PDF, deberá invocar el método Document.Save() y especificar el nombre del archivo de salida con la extensión “.pdf”. El siguiente ejemplo de código muestra cómo convertir Word DOC a PDF en C#.
// Cargue el documento desde el disco.
Document doc = new Document("word.doc");
// Guardar como pdf
doc.Save("output.pdf");
Documento de Word
PDF convertido
Convierta páginas seleccionadas de Word DOCX a PDF en C#
También puede personalizar la conversión de Word a PDF especificando el rango de páginas que desea obtener en el documento PDF resultante. Puede convertir las primeras N páginas o definir un rango de páginas especificando el índice de la página inicial. El siguiente ejemplo de código muestra cómo convertir 3 páginas a partir de la segunda página de un documento de Word a PDF en C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Convierta 3 páginas a partir del índice 1, donde 0 es el índice de la primera página
options.PageIndex = 1;
options.PageCount = 3;
// Guardar Word como PDF
doc.Save("output.pdf", options);
Convierta Word DOCX/DOC a PDF con un PDF estándar particular en C#
Los documentos PDF pueden cumplir con diferentes estándares de PDF, como PDF 1.7, PDF 1.5, PDF/A-1a, etc. De acuerdo con esto, Aspose.Words for .NET permite especificar el nivel de cumplimiento de PDF en la conversión de Word a PDF. Puede especificar el nivel de cumplimiento utilizando PdfCompliance enum. El siguiente ejemplo de código muestra cómo establecer el nivel de cumplimiento en la conversión de Word DOCX a PDF en C#.
Document doc = new Document("word.docx");
// Establezca el cumplimiento de PDFSaveOption en PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// Convertir Word a PDF
doc.Save("output.pdf", options);
Convierta Word a PDF con compresión de texto/imagen en C#
El formato PDF admite la compresión de texto e imágenes para reducir el tamaño del documento. Dado que un documento PDF puede tener un tamaño voluminoso, la compresión de su contenido facilita cargarlo, compartirlo, imprimirlo, etc. La compresión de texto e imagen también se puede aplicar en la conversión de Word a PDF usando Aspose.Words for .NET.
Opciones de compresión de texto
Las siguientes opciones de compresión de texto están disponibles en PdfTextCompression enumeración.
- Ninguno: Guardar PDF sin compresión de texto.
- Flate: Guardar PDF con compresión flate (ZIP).
Compresión de imagen
Las siguientes opciones de compresión de imágenes están disponibles en PdfImageCompression enumeración.
- Automático: la API selecciona automáticamente la compresión más adecuada para cada imagen del documento.
- Jpeg: compresión de imágenes JPEG (no admite transparencia).
El siguiente ejemplo de código muestra cómo convertir Word DOCX a PDF con compresión de texto e imagen en C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Compresión de texto e imagen.
options.TextCompression = PdfTextCompression.Flate;
options.ImageCompression = PdfImageCompression.Auto;
// Guardar Word como PDF
doc.Save("output.pdf", options);
Conversión de C# Word a PDF con una firma digital
También puede aplicar una firma digital al PDF de salida mientras realiza la conversión de Word a PDF. La clase CertificateHolder le permite especificar el certificado digital y la contraseña. La clase PdfDigitalSignatureDetails permite proporcionar los detalles de la firma digital, como el titular del certificado, el motivo, la ubicación y la fecha/hora. El siguiente ejemplo de código muestra cómo convertir Word DOC/DOCX a PDF con una firma digital en C#.
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Detalles de las firmas digitales
CertificateHolder certHolder = CertificateHolder.Create("signature.pfx", "12345");
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(certHolder, "reason", "location", DateTime.Now);
// Guardar Word como PDF
doc.Save("output.pdf", options);
Convierta Word a PDF con la calidad JPEG deseada en C#
También puede especificar la calidad JPEG deseada que desea obtener en el documento PDF convertido utilizando la propiedad PdfSaveOptions.JpegQuality. El valor de JpegQuality puede variar de 0 a 100, donde 0 significa la peor calidad pero máxima compresión y 100 significa la mejor calidad pero mínima compresión.
El siguiente ejemplo de código muestra cómo configurar la calidad JPEG al convertir Word DOCX a PDF en C#.
Document doc = new Document("word.docx");
// Establecer calidad JPEG
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// Convertir Word a PDF
doc.Save("output.pdf", options);
Conclusión
En este artículo, ha aprendido cómo convertir documentos DOCX/DOC de MS Word usando C# con varias opciones. Visite documentación de Aspose.Words for .NET para ver el conjunto completo de funciones que ofrece la API. Para cualquier duda o consulta, contacta con nosotros a través de nuestro foro.