天天看點

SharePoint 2013 Word 轉換PDF服務介紹及示例

  前言:在SharePoint使用過程中,經常會發現将文檔進行格式轉換的需求,之前,看到SharePoint 2013有将PPT轉換PDF文檔的服務,後來,才發現SharePoint 2010開始,就有将Word文檔轉換PDF的服務了,用起來還是不錯的。

  下面,我們就來看看這個服務,如何将一個Word文檔庫批量轉換成PDF檔案,或者,将單一Word文檔轉換為PDF文檔。

一、             效果展示

建立測試Word文檔,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

建立文檔庫inputList作為word存放庫,上傳測試文檔,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

         建立文檔庫outputList,作為輸出PDF庫,裡面沒有檔案,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

執行檔案轉換程式,執行後outputList文檔庫,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例
SharePoint 2013 Word 轉換PDF服務介紹及示例

         再一次重新整理outputList文檔庫,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

下載下傳一個PDF檔案到本地,PDF閱讀器打開,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

二、             操作步驟

1、  建立項目,添加引用Microsoft.Office.Word.Server.dll,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

位置如下:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Word.Server\v4.0_15.0.0.0__71e9bce111e9429c\Microsoft.Office.Word.Server.dll

2、  引用類庫

using Microsoft.Office.Word.Server;

using Microsoft.Office.Word.Server.Conversions;

主要用于轉換操作的是Microsoft.Office.Word.Server.Conversions,詳細請參考附後的msdn文檔。

3、  編寫添加核心代碼之文檔庫批量轉換

4、  編寫核心代碼之單一檔案轉換

5、  單一檔案轉換效果圖,如下圖:

SharePoint 2013 Word 轉換PDF服務介紹及示例

三、             Word Automation Services介紹

1、  簡單介紹

  Word Automation Services 是一項新的 SharePoint Server 2010 技術,它允許以無人參與的方式從伺服器端轉換 Microsoft Word 支援的文檔。簡言之,Word Automation Services 采用 Word 用戶端應用程式的“另存為…”功能并為伺服器複制該功能。

  通過 Word Automation Services,以前需要您運作 Word 用戶端應用程式的任務現在可以無人參與模式自動運作,并且比以前的解決方案更可靠、伸縮性更強。

  以上是msdn上,關于Word Automation Services的說明,msdn很清楚的說到,這個服務的本質是采用Word用戶端另存為的功能,是以,打開和另存的格式,和word2013用戶端基本一緻。

2、  Word Automation Services體系結構

SharePoint 2013 Word 轉換PDF服務介紹及示例

  如上圖,可以看到Word Automation Services服務的原理,通過對象模型将操作進入隊列管理器,排隊等候計時器作業(TimerJob)定時執行,然後調用Word檔案轉換服務引擎,将轉換後的檔案存入SharePoint内容資料庫。

  特别的是,這個服務并不需要在伺服器端,安裝Office Word各種版本,即可完成操作,并且支援SharePoint2010和SharePoint2013版本。

3、  Word Automation Services三個基本概念

  Word Automation Services 包含三個基本概念,即轉換、轉換作業和文檔隊列。轉換是一個過程,在此過程中,Word Automation Services 會接收一個具有給定格式的檔案,然後以不同的格式将該檔案輸出。例如,服務可以将 Word 2010 文檔 (.docx) 轉換為 PDF 文檔。

所有轉換都通過以下步驟進行:

Ø  建立一個轉換作業。

Ø  提供該作業的設定(例如,所需的輸出檔案格式)。

Ø  向該作業添加一個或多個檔案。

Ø  将該作業送出到文檔隊列。

  所有轉換操作都基于轉換作業 的建立或使用。轉換作業将描述要轉換的檔案和要對這些檔案執行的操作。每個檔案都将構成一個轉換項,并且每個轉換項都将映射到一個轉換作業。一個轉換作業可包含多個轉換項。

文檔隊列 是一個“先進先出”隊列,Word Automation Services 使用它根據為轉換作業設定的計劃來啟動轉換。

4、  支援打開的文檔格式

Ø  打開 XML 檔案格式文檔(.docx, .docm, .dotx, .dotm)。

Ø  Word 97-2003 文檔(.doc, .dot)。

Ø  RTF 格式檔案 (.rtf)。

Ø  單個檔案網頁(.mht, .mhtml)。

Ø  Word 2003 XML 文檔 (.xml)。

Ø  Word XML 文檔 (.xml)。

5、  儲存 Word 可以儲存的文檔類型,除去支援以上支援打開的類型,還包括一下兩種:

Ø  可移植文檔格式 (PDF) 檔案。

Ø  XML 紙張規範 (XPS) 檔案。

四、             完整代碼

1、文檔庫批量轉換代碼

SharePoint 2013 Word 轉換PDF服務介紹及示例
SharePoint 2013 Word 轉換PDF服務介紹及示例

View Code

2、文檔單獨轉換代碼

SharePoint 2013 Word 轉換PDF服務介紹及示例
SharePoint 2013 Word 轉換PDF服務介紹及示例

參考文獻

Word Automation Services

<a href="http://msdn.microsoft.com/zh-cn/library/ee558278(v=office.14).aspx">http://msdn.microsoft.com/zh-cn/library/ee558278(v=office.14).aspx</a>