使用Docx4j操作PPT指南系列(一)
—— pptx文件的生成與新增新頁
寫在最前
由於專案需要系統生成ppt文件,在開源技術中選定了docx4j。docx4j操作ppt的文件幾乎沒有(中文的就更加鳳毛麟角了),所有的東西只能自己去摸索,因此才有了這一系列的文件,也算是拋磚引玉,受限於專案使用場景,本系列僅對專案中使用的一些功能進行描述,我想差不多能夠涵蓋基本的功能,歡迎各位看官與我進行交流,共同進步。
準備工作
下載docx4j,專案網址:http://www.docx4java.org/trac/docx4j
下載地址:
- SVN trunk: http://www.docx4java.org/svn/docx4j/trunk/
- 2.7.1 release: http://www.docx4java.org/svn/docx4j/tags/VERSION_2_7_1/
Maven配置:
< dependency > < groupId >org.docx4j</ groupId > < artifactId >docx4j</ artifactId > < version >2.7.1</ version > </ dependency > |
注意:docx4j主要用於操作Office2007版本。
建立ppt文件
public class CreatePPTX public static void main(String[] args) // 建立文件的主體 // 獲取MainPresentationPart,實際上使用 // presentationMLPackage.getMainPresentationPart(); 方法也可以
MainPresentationPart pp = (MainPresentationPart)presentationMLPackage.getParts().getParts().get(new PartName(“/ppt/presentation.xml”)); // 獲取佈局資訊,實際上是獲取幻燈片母版的佈局頁,這個功能很重要。 // 建立一個新頁時必須應用一個佈局 // “/ppt/slideLayouts/slideLayout1.xml”這個是母版頁的id,具體要看母版中有多少布 // 局樣式,是1、2、3、4依次排列的 // 建立一個新頁,一定要帶上佈局頁資訊,否則開啟ppt時會報錯, // 並且自動指定一個預設的佈局樣式 // “/ppt/slides/slide1.xml” 每一頁的partName不能重複 // 儲存成檔案 done .. saved ” + outputfilepath); |
個人建議不要直接建立新的ppt檔案,一般對於企業來說都會有幾種特定的ppt模板,直接使用這些模板可以節省大量的時間,而且封面頁以及母版的佈局都是定製好的,只需要用就可以了。
唯一程式碼上有所區別,是從一個檔案中載入的,如下:
PresentationMLPackage presentationMLPackage = PresentationMLPackage.load(new File( PSMSConstants.REPORT_PPT2007_TEMPLATE_PATH)); |
OK, 在這一部分內容中,應該以及掌握了使用docx4j建立pptx檔案以及新增內容頁的方法,在下一部分中,將介紹如何向內容頁中新增文字和圖形等內容。