Word 到 PDF 的轉換是當今的一種常見做法,並且在共享文檔之前是首選。 MS Word 提供了將 Word 文檔另存為 PDF 的內置功能,但是,在某些情況下,您可能希望以編程方式將 Word 文檔轉換為 PDF,例如在您的 Web 應用程序中,或者您可能需要在不安裝 MS Office 的情況下將 Word 批量轉換為 PDF。因此,在本文中,您將學習如何在 .NET 或 .NET Core 框架中使用 C# 將 Word 轉換為 PDF。
C# Word 到 PDF 轉換 - 場景
在本文中,您將學習如何:
- 在 C# 中將 Word 轉換為 PDF
- 在 C# 中將所需的 Word 文檔頁面轉換為 PDF
- 使用特定 PDF 標準(例如 PDF 1.7、PDF/A-1a 等)將 Word 轉換為 PDF。
- 在 C# 中使用圖像/文本壓縮將 Word 轉換為 PDF
- 在 C# 中使用數字簽名將 Word 轉換為 PDF
- 具有所需圖像 JPEG 質量的 Word 到 PDF 的轉換
將 Word 轉換為 PDF 的 C# .NET API
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# 中的簡單 Word 到 PDF 轉換
要將 Word 文檔轉換為 PDF,您必須調用 Document.Save() 方法並指定帶有“.pdf”擴展名的輸出文件名。以下代碼示例顯示瞭如何在 C# 中將 Word 文檔轉換為 PDF。
// 從磁盤加載文檔。
Document doc = new Document("word.doc");
// 另存為 PDF
doc.Save("output.pdf");
Word文檔
轉換後的 PDF
在C#中將選定的Word頁面轉換為PDF
您還可以通過指定要在生成的 PDF 文檔中獲取的頁面範圍來自定義 Word 到 PDF 的轉換。您可以轉換前 N 頁或定義指定起始頁索引的頁面範圍。以下代碼示例顯示如何在 C# 中將 Word 從第二頁開始的 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# 使用特定標準將 Word 轉換為 PDF
PDF 文檔可能符合不同的 PDF 標準,例如 PDF 1.7、PDF 1.5、PDF/A-1a 等。據此,Aspose.Words for .NET 允許在 Word 到 PDF 的轉換中指定 PDF 合規級別。您可以使用 PdfCompliance 枚舉指定合規級別。以下代碼示例顯示如何在 C# 中設置 Word 到 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# 使用文本/圖像壓縮將 Word 轉換為 PDF
PDF 格式支持文本和圖像壓縮以減小文檔的大小。由於 PDF 文檔可能體積龐大,對其內容進行壓縮使其易於上傳、共享、打印等。文本和圖像壓縮也可以應用在使用 Aspose.Words for .NET 的 Word 到 PDF 轉換中。
文本壓縮選項
PdfTextCompression 枚舉中提供了以下文本壓縮選項。
- 無:在不壓縮文本的情況下保存 PDF。
- Flate:使用平面 (ZIP) 壓縮保存 PDF。
圖像壓縮
PdfImageCompression 枚舉中提供了以下圖像壓縮選項。
- 自動:API 會自動為文檔中的每個圖像選擇最合適的壓縮方式。
- Jpeg:壓縮為 JPEG 圖像(不支持透明度)。
以下代碼示例顯示瞭如何在 C# 中使用文本和圖像壓縮將 Word 轉換為 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# Word 到帶有數字簽名的 PDF 轉換
您還可以在執行 Word 到 PDF 轉換時對輸出的 PDF 應用數字簽名。 CertificateHolder 類允許您指定數字證書和密碼。 PdfDigitalSignatureDetails 類允許提供數字簽名的詳細信息,例如證書持有者、原因、位置和日期/時間。以下代碼示例顯示如何在 C# 中將 Word 轉換為帶有數字簽名的 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# 中將 Word 轉換為具有所需 JPEG 質量的 PDF
您還可以使用 PdfSaveOptions.JpegQuality 屬性指定要在轉換後的 PDF 文檔中獲得的所需 JPEG 質量。 JpegQuality 的值可能在 0 到 100 之間變化,其中 0 表示質量最差但壓縮最大,100 表示質量最好但壓縮最小。
以下代碼示例顯示瞭如何在 C# 中將 Word 轉換為 PDF 時設置 JPEG 質量。
Document doc = new Document("word.docx");
// 設置 Jpeg 質量
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// 將 Word 轉換為 PDF
doc.Save("output.pdf", options);
結論
在本文中,您了解瞭如何使用各種選項在 C# 中將 Word 文檔轉換為 PDF。訪問 Aspose.Words for .NET 的 文檔,查看 API 提供的完整功能集。如有任何問題或疑問,請通過我們的 論壇 聯繫我們。