如何利用C#將word檔產生為pdf

    在常見的企業需求中,常常會有將word檔轉換成pdf的要求,而一般來說若採取免費的方案有幾種solution 1. 利用提供免費API(例如:docx4j),而此種方式有時候要碰碰運氣,若word的格式太過於複雜,轉換的格式經常會跑掉,若遇到中文字有時會變成亂碼 因為此種方式採用前要先有心裡準備,或是先將要轉的word格式都試過後,都不會跑版才放心採行。 2.利用呼叫 Microsoft.Office.Interop.Word的原生功能轉檔,此方式來說近乎100%的格式沒有問題,但是執行環境下要安裝Office,若採行免費方案下,此方式則被排除。 當然綜合以上二點,所以會想到是否又免費的方案,且轉換格式不跑掉的雙贏策略,那就Open Office 呼之欲出: 本說明採納Open Office的另一實作LibraOffice, 請先下載安裝後, 利用C# 的Process的方法進行執行Commend Line 產生PDF,程式碼如下: /// <summary> /// 利用LibraOffice將Doc轉成PDF /// </summary> /// <param name="openOfficePath">soffice.exe的路徑</param> /// <param name="workDir">要被轉換檔案的資料夾位置</param> /// <param name="docFileName">要被轉換檔案的名稱</param> /// <returns></returns> private bool convertDocToPdf(String openOfficePath,String workDir,String docFileName) { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.CreateNoWindow = false; startInfo.UseShellExecute = false; startInfo.FileName = openOfficePath; startInfo.WorkingDirectory

    Read More