天天看点

iDea中使用iText预览pdf

1.所需jar

<dependency>
	<groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.12</version>
</dependency>
<dependency>
     <groupId>com.itextpdf</groupId>
     <artifactId>itext-pdfa</artifactId>
     <version>5.5.0</version>
</dependency>
<dependency>
     <groupId>com.itextpdf</groupId>
     <artifactId>itext-asian</artifactId>
     <version>5.2.0</version>
</dependency>
           

2.直接上代码

public void getpic(HttpServletRequest request, HttpServletResponse response,JsQdDzdmx jsQdDzdmx) throws IOException, DocumentException {
        String fname = "grid";//导出文件名
        fname = java.net.URLEncoder.encode(fname,"UTF-8");
        response.setHeader("Content-Disposition","filename="+new String(fname.getBytes("UTF-8"),"UTF-8")+".xls");
        response.setCharacterEncoding("utf-8");
        // 由于导出格式是excel的文件,设置导出文件的响应头部信息
        response.setContentType("application/pdf");
        //设置中文
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
		//3.创建Document对象
        Document doc = new Document();
        PdfWriter.getInstance(doc, response.getOutputStream());
        //打开文档(必有这步)
        doc.open();
        //表标题
        doc.addTitle("导出信息");
        PdfPTable table = new PdfPTable(10);
        //表头(FontChinese字体样式可加可不加)
        table.addCell(new Paragraph("姓名",FontChinese));
        table.addCell(new Paragraph("年龄",FontChinese));
        table.addCell(new Paragraph("性别",FontChinese));
        table.addCell(new Paragraph("爱好",FontChinese));
        table.addCell(new Paragraph("体重",FontChinese));
        table.addCell(new Paragraph("身高",FontChinese));
        table.addCell(new Paragraph("籍贯",FontChinese));
        table.addCell(new Paragraph("手机号",FontChinese));
        table.addCell(new Paragraph("家庭住址",FontChinese));
        table.addCell(new Paragraph("身份证号",FontChinese));
        doc.add(table);
		//获取数据
        List<JsQdDzdmx> lists = jcdzdService.findjcdzdmx1(jsQdDzdmx);
        for(JsQdDzdmx i : lists) {
            PdfPTable tableS = new PdfPTable(10);
            tableS.addCell(new Paragraph(i.getXmbh(),FontChinese));
            tableS.addCell(new Paragraph(i.getBgbh1(),FontChinese));
            tableS.addCell(new Paragraph(i.getWtrq(),FontChinese));
            tableS.addCell(new Paragraph(i.getQfrq(),FontChinese));
            tableS.addCell(new Paragraph(i.getXmmc(),FontChinese));
            tableS.addCell(new Paragraph(i.getPz(),FontChinese));
            tableS.addCell(new Paragraph(i.getQddj(),FontChinese));
            tableS.addCell(new Paragraph(i.getGg(),FontChinese));
            tableS.addCell(new Paragraph(i.getJcfy(),FontChinese));
            tableS.addCell(new Paragraph(i.getFlag(),FontChinese));
            doc.add(tableS);
        }
        //关闭文档
        doc.close();
           

3.展示效果图

iDea中使用iText预览pdf

继续阅读