前言:在SharePoint使用過程中,經常會發現将文檔進行格式轉換的需求,之前,看到SharePoint 2013有将PPT轉換PDF文檔的服務,後來,才發現SharePoint 2010開始,就有将Word文檔轉換PDF的服務了,用起來還是不錯的。
下面,我們就來看看這個服務,如何将一個Word文檔庫批量轉換成PDF檔案,或者,将單一Word文檔轉換為PDF文檔。
一、 效果展示
建立測試Word文檔,如下圖:
建立文檔庫inputList作為word存放庫,上傳測試文檔,如下圖:
建立文檔庫outputList,作為輸出PDF庫,裡面沒有檔案,如下圖:
執行檔案轉換程式,執行後outputList文檔庫,如下圖:
再一次重新整理outputList文檔庫,如下圖:
下載下傳一個PDF檔案到本地,PDF閱讀器打開,如下圖:
二、 操作步驟
1、 建立項目,添加引用Microsoft.Office.Word.Server.dll,如下圖:
位置如下:
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、 單一檔案轉換效果圖,如下圖:
三、 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體系結構
如上圖,可以看到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、文檔庫批量轉換代碼
View Code
2、文檔單獨轉換代碼
參考文獻
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>