1.Maven种添入依赖
?
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
?
2.创建pdf工具类
3.组装数据进行填充和样式设置
package com.cargo.trailer.orderManage.vo;
?
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import me.javy.helper.Helper;
?
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
/**
*填充数据--以日期空一行,列种不同的字段颜色不同
*/
public class PdfUtil {
?
public static void exportPdf(HttpServletRequest request, HttpServletResponse response, List<List<String>> lists, String fileName) throws IOException,DocumentException {
// 告诉浏览器用什么软件可以打开此文件
response.setHeader("content-Type", "application/pdf");
// 导出文件的默认名称
response.setHeader("Content-Disposition","attachment;fileName=" + URLEncoder.encode(fileName + ".pdf", "UTF-8"));
BaseFont baseFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
// 自定义字体属性
com.itextpdf.text.Font font = new com.itextpdf.text.Font(baseFont, 8);
com.itextpdf.text.Font titleFont = new com.itextpdf.text.Font(baseFont, 10);
Document document = new Document(new RectangleReadOnly(842F,595F));//a4纸横向
PdfWriter.getInstance(document, response.getOutputStream());
document.open();//文本开始
if (lists.size() > 0 && lists != null) {
for (int i = 0; i < lists.size(); i++) {
PdfPTable table = new PdfPTable(lists.get(i).size());
table.setWidthPercentage(100);//table100%
PdfPCell cell = new PdfPCell();
if (i == 0) {
if (lists.get(i).size()