iText7 pdf导出简单实例

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

效果



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值