FAGOR发格系统解锁解密

本文介绍了如何使用iText Java库来生成PDF文档,特别是针对从HTML模板转换为PDF的需求。作者提到了两种生成PDF的方法,包括直接使用API创建每个元素和使用iTextPDF将HTML转为PDF。文章中展示了如何引入依赖、设置页眉和页脚以及添加水印的代码示例。
摘要由CSDN通过智能技术生成

哈哈,有没有发现小六六总是写些用的很少的东西,没办法,这种东西都是用到的时候,百度踩坑,然后怼出来的,如果不写点文章记录下来,那下次又得重新怼一遍前面的过程,所以小六六偷点懒,记录一下,下次就简单了,说说场景吧,小六六目前负责的系统有一个题库的需求,就是要求把学生做错的题目生成一个pdf,或者是历年的真题生成一个pdf,然后给到用户下载,去用笔写,我本来想,这种需求不应该是运营教务那边直接上传就好了,但是他们不干,非得让我们代码生成,然后产品小姐姐又被他们说动了,然后最后只好接了,不过我绝对不是屈服在小姐姐的美色之下,我只是单纯的觉得这个需求又意思。哈哈
itext介绍
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

Itext官网

其实这边我说下又2种方式生成pdf

可以用原生的api,去创建pdf 所需要的每一个元素,这种也是一种实现方式,但是怎么说呢?就是你必须学他的api,有点多,哈哈
可以直接用itextpdf 这个jar,这样就可以把html直接变成pdf,那我们只需要用一个模板引擎,然后把他渲染,然后拿到这个页面,就可以生成我们需要的pdf了,下面的文章也是用的第二种方式,然后我把大致的过程记录一下

引入依赖

<?xml version="1.0" encoding="UTF-8"?>


4.0.0

<groupId>com.github.superad.pdf.kit</groupId>
<artifactId>pdf-kit</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<version>1.1-RELEASE</version>

<properties>
    <java.src.version>1.7</java.src.version>
    <java.target.version>1.7</java.target.version>
    <project.encoding>UTF-8</project.encoding>
</properties>

<parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
</parent>

<dependencies>
    <!--pdf生成工具类-->
    <!--pdf生成 itext-->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.4.2</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf.tool</groupId>
        <artifactId>xmlworker</artifactId>
        <version>5.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext-asian</artifactId>
        <version>5.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.xhtmlrenderer</groupId>
        <artifactId>flying-saucer-pdf</artifactId>
        <version>9.0.3</version>
    </dependency>
    <!--freemarker-->
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.26-incubating</version>
    </dependency>
    <!--jfreechart-->
    <dependency>
        <groupId>jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.2</version>
    </dependency>

    <!--log-->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-access</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>1.7.21</version>
    </dependency>

    <!--util-->
    <dependency>
        <groupId>com.google.guava</groupId>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值