如今,Word 到 PDF 的转换是一种常见的做法,在共享文档之前是首选。 MS Word 提供了将 Word 文档另存为 PDF 的内置功能,但是,您可能希望在 Web 应用程序中以编程方式将 Word 文档转换为 PDF,或者您可能需要在不安装 MS Office 的情况下将 Word 批量转换为 PDF。因此,在本文中,您将学习如何在 .NET 或 .NET Core 框架中使用 C# 将 DOCX 或 DOC 转换为 PDF。
C# DOCX 到 PDF 转换 - 场景
在本文中,您将学习如何:
- 在 C# 中将 Word DOCX 转换为 PDF
- 在 C# 中将所需的 Word 文档页面转换为 PDF
- 使用特定 PDF 标准(例如 PDF 1.7、PDF/A-1a 等)将 Word 转换为 PDF。
- 在 C# 中使用图像/文本压缩将 Word 转换为 PDF
- DOCX/DOC 到 PDF 与 C# 中的数字签名
- 具有所需 JPEG 质量的图像的 Word 到 PDF 转换
C# .NET API 将 DOCX 转换为 PDF
Aspose.Words for .NET 是一个强大的 API,用于创建和操作流行的 Word 文档格式。该 API 还提供了一种将 Word 文档以高保真度转换为 PDF 的简便方法。因此,对于 C# 中的 Word 到 PDF 转换,我们将首先在项目中添加对 Aspose.Words for .NET DLL 的引用或使用以下方法之一安装它。
使用 NuGet 包管理器
- 在 Visual Studio 中创建/打开项目。
- 转到 NuGet 包管理器并搜索 Aspose.Words。
- 安装 Aspose.Words for .NET。
使用包管理器控制台
PM> Install-Package Aspose.Words
C# 中的简单 DOCX 到 PDF 转换
要将 Word 文档转换为 PDF,您必须调用 Document.Save() 方法并使用“.pdf”扩展名指定输出文件名。以下代码示例展示了如何在 C# 中将 DOC 转换为 PDF。
// 从磁盘加载文档。
Document doc = new Document("word.doc");
// 另存为 PDF
doc.Save("output.pdf");
Word 文档
转换后的 PDF
在 C# 中将 DOCX 的选定页面转换为 PDF
您还可以通过指定要在生成的 PDF 文档中获得的页面范围来自定义 Word 到 PDF 的转换。您可以转换前 N 页或定义指定起始页索引的页面范围。以下代码示例展示了如何在 C# 中将 DOCX 的第二页开始的 3 页转换为 PDF。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// 从索引 1 开始转换 3 页,其中 0 是第一页的索引
options.PageIndex = 1;
options.PageCount = 3;
// 将 Word 保存为 PDF
doc.Save("output.pdf", options);
C# 使用特定标准将 DOCX DOC 转换为 PDF
PDF 文档可能符合不同的 PDF 标准,例如 PDF 1.7、PDF 1.5、PDF/A-1a 等。据此,Aspose.Words for .NET 允许在 Word 到 PDF 的转换中指定 PDF 合规级别。您可以使用 PdfCompliance 枚举指定合规级别。以下代码示例显示了如何在 C# 中设置 DOCX 到 PDF 转换中的合规级别。
Document doc = new Document("word.docx");
// 将 PDFSaveOption 合规性设置为 PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// 将 Word 转换为 PDF
doc.Save("output.pdf", options);
C# 使用文本/图像压缩将 DOCX 转换为 PDF
PDF 格式支持文本和图像压缩以减小文档的大小。由于 PDF 文档的大小可能很大,其内容的压缩使其易于上传、共享、打印等。文本和图像压缩也可以使用 Aspose.Words for .NET 在 DOC 到 PDF 转换中应用。
文本压缩选项
PdfTextCompression 枚举中提供了以下文本压缩选项。
- 无:保存 PDF 时不压缩文本。
- Flate:使用 flate (ZIP) 压缩保存 PDF。
图像压缩
PdfImageCompression 枚举中提供了以下图像压缩选项。
- 自动:API 自动为文档中的每个图像选择最合适的压缩方式。
- Jpeg:压缩为 JPEG 图像(不支持透明度)。
以下代码示例展示了如何使用 C# 中的文本和图像压缩将 DOCX 转换为 PDF。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// 文本和图像压缩
options.TextCompression = PdfTextCompression.Flate;
options.ImageCompression = PdfImageCompression.Auto;
// 将 Word 保存为 PDF
doc.Save("output.pdf", options);
带有数字签名的 C# DOCX 到 PDF 转换
您还可以在执行 Word 到 PDF 转换时将数字签名应用于输出 PDF。 CertificateHolder 类允许您指定数字证书和密码。 PdfDigitalSignatureDetails 类允许提供数字签名的详细信息,例如证书持有者、原因、位置和日期/时间。以下代码示例展示了如何在 C# 中将 DOC/DOCX 转换为带有数字签名的 PDF。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// 数字签名详细信息
CertificateHolder certHolder = CertificateHolder.Create("signature.pfx", "12345");
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(certHolder, "reason", "location", DateTime.Now);
// 将 Word 保存为 PDF
doc.Save("output.pdf", options);
在 C# 中将 DOCX 转换为具有所需 JPEG 质量的 PDF
您还可以使用 PdfSaveOptions.JpegQuality 属性指定要在转换后的 PDF 文档中获得的所需 JPEG 质量。 JpegQuality 的值可能在 0 到 100 之间变化,其中 0 表示质量最差但压缩最大,100 表示质量最好但压缩最小。
以下代码示例显示了在 C# 中将 DOCX 转换为 PDF 时如何设置 JPEG 质量。
Document doc = new Document("word.docx");
// 设置 Jpeg 质量
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// 将 Word 转换为 PDF
doc.Save("output.pdf", options);
结论
在本文中,您学习了如何在 C# 中使用各种选项将 DOCX 或 DOC 转换为 PDF。访问 Aspose.Words for .NET 的 文档 以查看 API 提供的完整功能集。如有任何问题或疑问,请通过我们的 论坛 联系我们。
相关文章)
- PowerPoint 演示文稿到 Java 中的 PDF 转换
- 在 C# 中将 PowerPoint 演示文稿转换为 PDF
- C# 中的 PDF 到 Excel
- Java 中的 PDF 到 MS Word 文档
- C#中的TXT转PDF
- C# 中的 HTML 到 Word
- C# 中的 Word 到 Markdown
- 在 C# 中将 Word 转换为 EPUB PDF 文件到 Python 中的文本
- XLSX 到 Java 中的 JSON
- Java中的Excel到JSON
- Java 中的 DOCX 到 JSON
- Java中的DOC到JSON
- Java中的Word到JSON
- Java 中的 TXT 转 JSON
- Python中的JSON到PDF
- Java中的Excel到JSON
- Python中的TXT到JSON
- Word DOC 到 Java 中的 Markdown
- C# 中的 Word DOC DOCX 到 Markdown
- 用Java从Word文档中提取文本
- 使用 C# .NET 合并 MS Word 文档
- 在 C# 中将 Word DOC 转换为 PNG、JPEG、BMP、GIF 或 TIFF
- Java 中的 Word DOC 到 PNG、JPEG、BMP、GIF 或 TIFF