POI 實現 word轉成pdf


想系統學習的同志,可以參考 POI官方

1、導出依賴

<dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.2.0</version>
</dependency>

這里要注意版本問題!!

2、准備word穩當

3、實現代碼1

/**
 * 將word模板轉化成pdf
 * @param args
 * @throws Exception
 */
public static void main(String[] args) throws Exception {
    Map datas = new HashMap();
    datas.put("title","我是活動標題"); //給{{title}}標識賦值
    XWPFTemplate template = XWPFTemplate.compile("E:/test.docx");
    template.render(datas);

  //將word轉成pdf PdfOptions options
= PdfOptions.create(); try (OutputStream outPDF = Files.newOutputStream(Paths.get("E:/tes2.pdf"))) { PdfConverter.getInstance().convert(template.getXWPFDocument(), outPDF, options); } catch (IOException e) { e.printStackTrace(); } }

4、實現代碼2,這里不考慮賦值問題,直接轉換

public static void main(String[] args) {
    try {

     //讀取word文檔 XWPFDocument document
= null; try (InputStream in = Files.newInputStream(Paths.get("E:/test1.docx"))) { document = new XWPFDocument(in); } catch (IOException e) { e.printStackTrace(); }
     //將word轉成pdf PdfOptions options
= PdfOptions.create(); try (OutputStream outPDF = Files.newOutputStream(Paths.get("E:/tes2.pdf"))) { PdfConverter.getInstance().convert(document, outPDF, options); } catch (IOException e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } }

5、在E盤中查看效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM