首頁 >後端開發 >C++ >如何在不使用昂貴軟體的情況下,在 C# 或 VB.NET 中以程式設計方式將 DOC 檔案轉換為 PDF?

如何在不使用昂貴軟體的情況下,在 C# 或 VB.NET 中以程式設計方式將 DOC 檔案轉換為 PDF?

Barbara Streisand
Barbara Streisand原創
2025-01-26 13:31:08398瀏覽

How Can I Programmatically Convert DOC Files to PDF in C# or VB.NET Without Expensive Software?

C# 和 VB.NET 中的程序化 DOC 到 PDF 轉換

本文解決了使用 C# 或 VB.NET 將 DOC 文件轉換為 PDF 格式的挑戰,而無需依賴昂貴的商業軟件。

問題:在 C# 或 VB.NET 中以編程方式高效地將 .doc 文件轉換為 .pdf 文件,避免昂貴的第三方庫。

解決方案:

方法 1:利用 Microsoft Word Interop

此方法利用 Microsoft Word Interop 庫來執行轉換。 請注意,這需要在執行代碼的系統上安裝 Microsoft Word。

<code class="language-csharp">// Add reference to Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
wordApp.Visible = false; // Run Word in the background
wordApp.ScreenUpdating = false; // Disable screen updates for faster processing

DirectoryInfo dir = new DirectoryInfo(@"\server\folder"); // Specify the directory containing DOC files
FileInfo[] docFiles = dir.GetFiles("*.doc");

foreach (FileInfo docFile in docFiles)
{
    object filename = (object)docFile.FullName;
    Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref filename);
    object pdfFilename = (object)docFile.FullName.Replace(".doc", ".pdf");
    doc.SaveAs(ref pdfFilename, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);
    doc.Close();
}

wordApp.Quit();</code>

方法 2:處理 Word 2007 及更高版本

對於 Word 2007 及更高版本,請確保將必要的引用添加到您的項目中。 核心轉換邏輯與方法1相同。

方法 3:遍歷頁面(說明性示例)

以下代碼片段演示了頁面迭代(與圖像提取相關,而不是直接 PDF 轉換)。 包含它是為了完整性,但與主要問題沒有直接關係。

<code class="language-csharp">foreach (Microsoft.Office.Interop.Word.Page page in pane.Pages) // 'pane' needs to be defined in context
{
    // ... code to convert page to image ...
}</code>

請記住處理潛在的異常(例如,未找到文件、未安裝 Word)以進行穩健的錯誤處理。 如果 Microsoft Word 可用,此方法可為程序化 DOC 到 PDF 轉換提供經濟高效的解決方案。 如果 Word 不可用或許可是一個重要問題,請考慮免費開源庫等替代方案。

以上是如何在不使用昂貴軟體的情況下,在 C# 或 VB.NET 中以程式設計方式將 DOC 檔案轉換為 PDF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn