首先导入jar包
<!--字体jar包,解决pdf不显示中文的问题-->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<!--iText核心jar包-->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
首先设置response
response.setContentType("application/pdf");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
一切的开始,这个构造函数默认的纸张大小是A4
Document document = new Document();
创建一个PdfWriter
PdfWriter pdfWriter = PdfWriter.getInstance(document, response.getOutputStream());
打开document
document.open();
解决pdf不显示中文的问题
BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" ,"UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);
Font font = new Font(bfChinese, 12,Font.NORMAL);
Font title = new Font(bfChinese, 20,Font.NORMAL);
设置一个titleParagraph
Paragraph titleParagraph = new Paragraph("标题\n\n", title);
设置居中,并写入document
titleParagraph.setAlignment(1);
document.add(titleParagraph);
创建一个table,参数设置列数
PdfPTable table = new PdfPTable(2);
设置table中的cell样式
//设置最小行高
table.getDefaultCell().setMinimumHeight(30);
//设置水平和垂直居中
table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);
添加内容
table.addCell(new Paragraph("content",font));
最后将table添加至document,并关闭相关资源
document.add(table);
pdfWriter.close();
document.close();
这样就可以用response生成一个简单的pdf可供下载和打印了。