1、引入jar包(maven)
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.18</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-licensekey</artifactId>
<version>2.0.4</version>
</dependency>
<distributionManagement>
<repositories> <repository> <id>itext</id> <name>iText Repository - releases</name> <url>https://repo.itextsupport.com/releases</url> </repository></repositories>
</distributionManagement>
2、代码(springMVC)
@RequestMapping(value = "getPdf",method = {RequestMethod.GET})
public void getPdf(HttpServletRequest req, HttpServletResponse resp)
{
//引入NotoSansCJKtc-Regular.otf 解决中文字体的问题
String FONT=req.getSession().getServletContext().getRealPath("/")+"//font/NotoSansCJKtc-Regular.otf";
resp.setContentType("application/pdf");
System.out.println(FONT);
String fileName="test.pdf";
resp.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
try {
ServletOutputStream os= resp.getOutputStream();
PdfWriter writer=new PdfWriter(os);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);
PdfFont font= PdfFontFactory.createFont(FONT, PdfEncodings.IDENTITY_H,false);//解决显示中文字体
document.add(new Paragraph("测试Pdf导出").setFont(font));
com.itextpdf.layout.element.List list=new com.itextpdf.layout.element.List()
.setSymbolIndent(12).setListSymbol("\u2022").setFont(font);
list.add(new ListItem("锄禾日当午"));
list.add(new ListItem("汗滴禾下土"));
list.add(new ListItem("谁知盘中餐"));
list.add(new ListItem("粒粒皆辛苦"));
document.add(list);
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
字体库下载地址:http://pan.baidu.com/s/1i57ZyUp 提取码 eucl
效果