maven
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
- <version>5.2.2</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/fr.opensagres.xdocreport/fr.opensagres.xdocreport.converter.docx.xwpf -->
- <dependency>
- <groupId>fr.opensagres.xdocreport</groupId>
- <artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
- <version>2.0.4</version>
- </dependency>
-
-
- <dependency>
- <groupId>com.deepoove</groupId>
- <artifactId>poi-tl</artifactId>
- <version>1.12.1</version>
- </dependency>
poi-tl语法参考文档
http://deepoove.com/poi-tl/
测试poi-tl
- import com.deepoove.poi.XWPFTemplate;
-
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- public class TestPoiTl {
- public static void main(String[] args) throws Exception {
-
- List<Map<String,Object>> users = new ArrayList<>();
-
- users.add(user("张三",10,"zs"));
- users.add(user("李四",20,"ls"));
-
- XWPFTemplate template = XWPFTemplate.compile("D:\\wordpdf\\template.docx").render(
- new HashMap<String, Object>(){{
- put("users", users);
- }});
- template.writeAndClose(new FileOutputStream("D:\\wordpdf\\output.docx"));
- }
-
- static Map<String,Object> user(String name,int age,String account){
- Map<String,Object> user = new HashMap<>();
- user.put("name",name);
- user.put("age",age);
- user.put("account",account);
-
- return user;
- }
-
- }
测试word转pdf
- import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
- import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
- import org.apache.poi.xwpf.usermodel.XWPFDocument;
-
- import java.io.*;
-
- public class word2pdf {
-
- /**
- * @param args the command line arguments
- * @throws java.io.IOException
- */
- public static void main(String[] args) throws IOException {
- String docPath = "D:\\wordpdf\\test.docx";
- String pdfPath = "D:\\wordpdf\\test.pdf";
-
- XWPFDocument document;
- InputStream doc = new FileInputStream(docPath);
- document = new XWPFDocument(doc);
- PdfOptions options = PdfOptions.create();
- OutputStream out = new FileOutputStream(pdfPath);
- PdfConverter.getInstance().convert(document, out, options);
-
- doc.close();
- out.close();
- }
-
- }
test.docx 截图

template.docx截图

效果截图
