C# Word 轉 PDF - DOC 轉 PDF

Word 到 PDF 的轉換是當今的一種常見做法,並且在共享文檔之前是首選。 MS Word 提供了將 Word 文檔另存為 PDF 的內置功能,但是,在某些情況下,您可能希望以編程方式將 Word 文檔轉換為 PDF,例如在您的 Web 應用程序中,或者您可能需要在不安裝 MS Office 的情況下將 Word 批量轉換為 PDF。因此,在本文中,您將學習如何在 .NET 或 .NET Core 框架中使用 C# 將 DOCX 或 DOC 轉換為 PDF。

C# DOCX 到 PDF 轉換 - 場景

在本文中,您將學習如何:

將 DOCX 轉換為 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。
將 Word 轉換為 PDF C# .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文檔

C# 將 Word 轉換為 PDF

轉換後的 PDF

在 C# 中以編程方式將 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:使用平面 (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 提供的完整功能集。如有任何問題或疑問,請通過我們的 論壇 聯繫我們。

相關文章)