想系統學習的同志,可以參考 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盤中查看效果