[轉載]java實現word轉pdf

來源:互聯網
上載者:User

標籤:伺服器開發   document   text   組件   bubuko   host   工作   session   path   

 最近遇到一個項目需要把word 轉成pdf,百度了一下網上的方案有很多,比如虛擬列印、給word 裝擴充外掛程式等,這些方案都依賴於ms word 程式,在java代碼中也得使用諸如jacob或jcom這類java com bridge,使得伺服器開發受限於win平台,而且部署起來也很麻煩。後來在某論壇看到了一個openoffice+jodconverter的轉換方案,可以完成word到PDF的轉換工作,伺服器開發端需要安裝openoffice,但是需求一步額外的操作--需要在伺服器開發上的某個連接埠提供一個openoffice服務,這對部署起來顯得麻煩了點,貌似也不太安全。
  偶然機會發現了PageOffice組件也可以實現word轉pdf功能。而且不只是簡單的把word轉為pdf格式,還可以支援動態填充資料到word模板檔案然後再轉為pdf檔案。
  以下為官網介紹:

  

  調用PageOffice組件的FileMaker對象實現動態填充資料到word模板並轉為pdf的核心代碼如下:

    FileMakerCtrl fmCtrl = new FileMakerCtrl(request);    fmCtrl.setServerPage(request.getContextPath()+"/poserver.zz");    WordDocument doc = new WordDocument();    doc.openDataRegion("PO_company").setValue("北京某某有限公司");//給資料區域賦值,即把資料填充到模板中相應的位置    fmCtrl.setSaveFilePage("/savepdf"); //儲存pdf的action或RequestMapping方法    fmCtrl.setWriter(doc);    fmCtrl.fillDocumentAsPDF("doc/template.doc", DocumentOpenType.Word, "123.pdf");//填充word模板並轉為pdf
  儲存pdf的action或RequestMapping方法(/savepdf)的代碼:
    FileSaver fs = new FileSaver(request, response);    fs.saveToFile(request.getSession().getServletContext().getRealPath("doc") +"/"+ fs.getFileName());    fs.close();

  樣本源碼及效果:http://www.zhuozhengsoft.com/dowm/,下載PageOffice for Java,解壓後,拷貝Samples4檔案夾到Tomcat的Webapps目錄下,訪問:http://localhost:8080/Samples4/index.html,查看樣本:二、34、FileMaker轉換單個文檔為PDF(以Word為例) 

[轉載]java實現word轉pdf

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.