>程式性地將單字(.doc)檔案轉換為c#或vb.net中的pdf:負擔得起的解決方案
>許多免費或開源工具將.doc轉換為.pdf,但它們通常充當缺乏用於程式化使用的SDK的印表機驅動程式。 相反,具有此功能的SDK經常帶有大量授權成本。本文探討了c#或vb.net中的成本效益,程序化解決方案。
>> 方法1:利用Microsoft Word的「另存為「功能」>
>這種方法利用Microsoft Word的內建功能,假設已安裝了「 AS PDF」加載項。 通常,它比替代方法更可靠和高效。
這是C#程式碼:
<code class="language-csharp">using Microsoft.Office.Interop.Word; using System; using System.IO; // ... other using statements ... // ... other code ... // Create a Word application object Application word = new Application(); object oMissing = System.Reflection.Missing.Value; // Placeholder for optional arguments // Specify the directory containing .doc files string docDirectory = @"\server\folder"; // Get a list of .doc files string[] wordFiles = Directory.GetFiles(docDirectory, "*.doc"); word.Visible = false; // Keep Word hidden word.ScreenUpdating = false; // Prevent screen flickering foreach (string wordFile in wordFiles) { Document doc = word.Documents.Open(wordFile, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); doc.Activate(); string pdfFile = wordFile.Replace(".doc", ".pdf"); object fileFormat = WdSaveFormat.wdFormatPDF; doc.SaveAs(pdfFile, ref fileFormat, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); object saveChanges = WdSaveOptions.wdDoNotSaveChanges; ((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing); doc = null; } ((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing); word = null;</code>
請記得在項目中加入Microsoft.Office.Interop.Word
的引用。 此方法需要在程式碼運行的系統上安裝Microsoft Word。
重要的考慮因素:
try-catch
以上是如何使用經濟實惠的方法在 C# 或 VB.NET 中以程式設計方式將 Word (.doc) 檔案轉換為 PDF 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!