pdf-kit

Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

License

License

Categories

Categories

PDF Data
GroupId

GroupId

com.github.superad.pdf.kit
ArtifactId

ArtifactId

pdf-kit
Last Version

Last Version

1.1-RELEASE
Release Date

Release Date

Type

Type

jar
Description

Description

pdf-kit
Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/
Source Code Management

Source Code Management

https://github.com/superad/pdf-kit.git

Download pdf-kit

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.superad.pdf.kit/pdf-kit/ -->
<dependency>
    <groupId>com.github.superad.pdf.kit</groupId>
    <artifactId>pdf-kit</artifactId>
    <version>1.1-RELEASE</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.superad.pdf.kit/pdf-kit/
implementation 'com.github.superad.pdf.kit:pdf-kit:1.1-RELEASE'
// https://jarcasting.com/artifacts/com.github.superad.pdf.kit/pdf-kit/
implementation ("com.github.superad.pdf.kit:pdf-kit:1.1-RELEASE")
'com.github.superad.pdf.kit:pdf-kit:jar:1.1-RELEASE'
<dependency org="com.github.superad.pdf.kit" name="pdf-kit" rev="1.1-RELEASE">
  <artifact name="pdf-kit" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.superad.pdf.kit', module='pdf-kit', version='1.1-RELEASE')
)
libraryDependencies += "com.github.superad.pdf.kit" % "pdf-kit" % "1.1-RELEASE"
[com.github.superad.pdf.kit/pdf-kit "1.1-RELEASE"]

Dependencies

compile (15)

Group / Artifact Type Version
com.itextpdf : itextpdf jar 5.4.2
com.itextpdf.tool : xmlworker jar 5.4.1
com.itextpdf : itext-asian jar 5.2.0
org.xhtmlrenderer : flying-saucer-pdf jar 9.0.3
org.freemarker : freemarker jar 2.3.26-incubating
jfreechart : jfreechart jar 1.0.0
ch.qos.logback : logback-core jar 1.0.13
ch.qos.logback : logback-classic jar 1.0.13
ch.qos.logback : logback-access jar 1.0.13
org.slf4j : slf4j-api jar 1.7.5
org.slf4j : log4j-over-slf4j jar 1.7.21
com.google.guava : guava jar 20.0
org.projectlombok : lombok jar 1.14.8
org.apache.commons : commons-io jar 1.3.2
commons-lang : commons-lang jar 2.6

provided (1)

Group / Artifact Type Version
javax.servlet : servlet-api jar 2.5

Project Modules

There are no modules declared in this project.

pdf-kit

java根据模板动态生成PDF文件

一、需求说明:

 根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看。

二、解决方案:

  iText+FreeMarker+JFreeChart生成可动态配置的PDF文档
  
  iText有很强大的PDF处理能力,但是样式和排版不好控制,直接写PDF文档,数据的动态渲染很麻烦。
  
  FreeMarker能配置动态的html模板,正好解决了样式、动态渲染和排版问题。
  
  JFreeChart有这方便的画图API,能画出简单的折线、柱状和饼图,基本能满足需要。

三、实现功能:

   1、能动态配置PDF文档内容
   
   2、能动态配置中文字体显示
   
   3、设置自定义的页眉页脚信息
   
   4、能动态生成业务图片
   
   5、完成PDF的分页和图片的嵌入

四、主要代码结构说明:

  1、component包:PDF生成的组件 对外提供的是PDFKit工具类和HeaderFooterBuilder接口, 其中PDFKit负责PDF的生成,HeaderFooterBuilder负责自定义页眉页脚信息。
  
  2、builder包:负责PDF模板之外的额外信息填写,这里主要是页眉页脚的定制。
  
  3、chart包:JFreeChart的画图工具包,目前只有一个线形图。
  
  4、test包:测试工具类
  
  5、util包:FreeMarker等工具类。  

Versions

Version
1.1-RELEASE
1.0-release