首頁 >後端開發 >C#.Net教程 >關於C#如何將Word轉換成PDF的方法總結

關於C#如何將Word轉換成PDF的方法總結

黄舟
黄舟原創
2017-05-28 10:02:453076瀏覽

這篇文章主要匯總了C#將Word轉換成PDF方法,基於Office和WPS的兩種解決方案,具有一定的參考價值,感興趣的小夥伴們可以參考一下

有時候,我們需要在線上預覽word文檔,當然我們可以用NPOI抽出Word中的文字和表格,然後顯示到網頁上面,但是這樣會遺失掉Word中原有的格式和圖片。比較好的方法就是將word轉換成pdf,然後讓客戶預覽,以下來看一下基於Office和WPS的兩種解決方案。

 一、基於Office的解決方案

#如標題所說,基於Office就是要求伺服器上面要安裝的有Office 。我們透過C#程式碼來呼叫COM介面,實作將Word轉換成PDF。以下來看具體實現,首先引用Microsoft.Office.Interop.Word.dll,然後寫如下程式碼:

public bool WordToPDF(string sourcePath, string targetPath)
    {
      bool result = false;
      Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
      Document document = null;
      try
      {
       application.Visible = false;
       document = application.Documents.Open(sourcePath);
       document.ExportAsFixedFormat(targetPath, WdExportFormat.wdExportFormatPDF);
       result = true;
      }
      catch (Exception e)
      {
       Console.WriteLine(e.Message);
       result = false;
      }
      finally
      {
       document.Close();
      }
      return result;
    }

二、基於WPS的解決方案

WPS最大的好處當然是免費,還有就是體積小。要實現Word到PDF的轉換,當然,這個要求伺服器上面必須安裝的有WPS,我們呼叫的還是COM接口,然後寫如下程式碼:

public bool WordToPdfWithWPS(string sourcePath, string targetPath)
    {
      WPS.ApplicationClass app = new WPS.ApplicationClass();
      WPS.Document doc = null;
      try
      {
       doc = app.Documents.Open(sourcePath, true, true, false, null, null, false, "", null, 100, 0, true, true, 0, true);
       doc.ExportPdf(targetPath, "", "");
      }
      catch (Exception ex)
      {
       Console.WriteLine(ex.Message);
       return false;
      }
      finally
      {
       doc.Close();
      }
      return true;
    }

 三、企業級解決方案

對於大型企業來說,往往有多台伺服器,不可能在每台伺服器上面安裝office或會WPS,或者說公司根本不想在伺服器上面安裝這些沒用的軟體。這時候該怎麼辦呢?畢竟伺服器上面安裝這些軟體就是一種資源的浪費。

  當然,功能還是要實現的,那該怎麼解決呢?實際上,我們可以在一台伺服器上面安裝ofiice或WPS軟體,然後部署WCF服務或remoting等WebService,其他的伺服器可以呼叫這個服務來實現Word到PDF的轉換。

以上是關於C#如何將Word轉換成PDF的方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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