>编程性地将单词(.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
以上是如何使用负担得起的方法将Word(.doc)文件编程转换为c#或vb.net中的PDF文件?的详细内容。更多信息请关注PHP中文网其他相关文章!