Skip to content

Commit

Permalink
更新 readme
Browse files Browse the repository at this point in the history
  • Loading branch information
lemonzone2010 committed Feb 12, 2019
1 parent 1ab4e65 commit d438663
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
项目主页:http://git.oschina.net/lemonzone2010/doc-render

最近公司需要生成PDF,基于这个需求简单学习了下IText 和 flying saucer,对于这两个技术.我先简单介绍下:
## 项目背景
项目主页:http://git.oschina.net/lemonzone2010/doc-render

Flying Saucer和iText介绍:
公司需要生成PDF,会有一个固定样式格式,然后添加动态数据。于是就有了一个想法:编写模板->填充数据->生成pdf。

A. iText是一个生成PDF文档的开源java库,能够动态从XML或者数据库生成PDF,同时它具备PDF文档的绝大多数属性(比如加密……),支持java,C#等。官网:http://www.itextpdf.com/
基于这个需求和想法调研了下,了解到FreeMarker、IText 和 flying saucer工具。

B. Flying Saucer(或者叫xhtmlrender project on java.net)是一个基于iText的开源java库,能够轻松的将html(带css2.1)生成pdf。 网站:http://code.google.com/p/flying-saucer/

基于这个两个技术,大致就有了以下思路方便的生成pdf:
## 技术简介
### IText
iText是一个生成PDF文档的开源java库,能够动态从XML或者数据库生成PDF,同时它具备PDF文档的绝大多数属性(比如加密……),支持java,C#等。官网:http://www.itextpdf.com/

编写HTML模板--->通过Flying Saucer和IText--->生成pdf
### Flying Saucer
Flying Saucer(或者叫xhtmlrender project on java.net)是一个基于iText的开源java库,能够轻松的将html(带css2.1)生成pdf。 网站:https://github.com/flyingsaucerproject/flyingsaucer

于是这里需要用到一个java模板工具freemarker
### FreeMarker
FreeMarker是一个模版引擎,一个基于文本的模板输出工具(生成任意的HTML表单代码)。官网:http://freemarker.org/

C. FreeMarker是一个模版引擎,一个基于文本的模板输出工具(生成任意的HTML表单代码)。官网:http://freemarker.org/

范例说明:

项目主页:http://git.oschina.net/lemonzone2010/doc-render
## 主要功能

1. 支持中文

a.目录doc-render/src/test/resources/config/fonts中如果没有字体,需要手动复制系统中字体文件ARIALUNI.TTF到目录
a.目录doc-render/src/test/resources/config/fonts中自带字体ARIALUNI.TTF

b.window系统字体路径:C:/Windows/Fonts/ARIALUNI.TTF

c. html模板文档css字体设置: font-family: Arial Unicode MS;
c.html模板文档css字体设置: font-family: Arial Unicode MS;

1. 能够加载图片,设置的默认图片路径 classpath:config/images/

Expand All @@ -38,7 +38,4 @@ Flying Saucer和iText介绍:

1. pdf生成文件[点击查看](doc-render/tmp/1549647421978.pdf)

1. 基于maven构建,如果没有maven


项目主页:http://git.oschina.net/lemonzone2010/doc-render

0 comments on commit d438663

Please sign in to comment.