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中文網其他相關文章!