首先,当然是找到能够解析PDF的完美组件,百度和谷歌不约而同的告诉我们。IText是王道。而目前开源的组件中,Itext的确是一个First Choice,如果各位单纯是做把图片转成PDF或者自己写了Velocity或者FreeMarker模板生成了HTML是非常推荐直接用Itext来进行的。
下面就是用Flying Saucer(xhtmlrendere)来实现的代码:
loading...
传入对应的HTML路径和PDF生成完成后的输入路径,字体我是先在工程中建立一个文件夹然后把对应的字体放入进去,这样做的一个好处不管工程是在Windows还是linux都可以识别出来使用的字体。
renderer.
getSharedContext().setBaseURL(src);
指定图片的路径。
修改源码包中的BREAK.class重新计算右边距即可解决,代码:
本人是个新手程序员,如有写错请大牛指导,有关xhtmlrenderer进行HTML转PDF的知识可以互相交流。
首先,当然是找到能够解析PDF的完美组件,百度和谷歌不约而同的告诉我们。IText是王道。而目前开源的组件中,Itext的确是一个First Choice,如果各位单纯是做把图片转成PDF或者自己写了Velocity或者FreeMarker模板生成了HTML是非常推荐直接用Itext来进行的。下面就是用Flying Saucer(xhtmlrendere)来实现的代码:loading......
1、core-
renderer
.jar该jar包修改过
中文
不换行
问题
public static String getConversion
Html
Code(String linkcss,String
html
Code,String title){
String css = "";
css +="<style>";
css +="table{";
css +=" border-collapse: collapse;";
css +=" font-size: 15px;";
css +=" width: 98%;";
css +="}";
css +="";
css +="td{";
css +=" border: 1px solid #ddd;";
css +=" text-align: left;";
css +=" white-space: nowrap";
css +="}";
css +="th{";
css +=" border: 1px solid #ddd;";
css +=" text-align: left;";
css +="}";
css +="</style>";
String
html
= "<
html
><head>"+css+"</head><body margin:0;margin-top: 15px;margin-bottom: 15px; text-align: center; font-family:SimSun;\" >"+ title+""+
html
Code + "</body></
html
>";
System.out.println("
html
:"+
html
);
return
html
;
来源:
xhtml
renderer
将
html
转
换成
pdf
,完美css,带图片,手动分页,
解决
内容
断开的
问题
- 煮过的花朵 - 博客园
之前用itext7将
html
导出为
pdf
,比较方便,代码较少,而且支持base64的图片。但是itext7是收费的,所以换成了
xhtml
renderer
。
xhtml
renderer
自动引入依赖包itext2.0.8,而且不能再引入其他版本的itext,因为itext2.0.8是已经被废弃的,里面的很多方法在新版本已经没有了。
itext导出
pdf
最重要的4个难点:
注意:此代码是利用itext将静态
html
转
为
pdf
,非url
转
pdf
项目为maven项目,注意pom.xml文件中的jar包
解决
了
中文
不显示及不换行的
问题
https://blog.csdn.net/woweipingzui/article/details/82017089
中文
换行修改好后的jar:http://download.csdn.net/download/weixin_36795183/9983888
pdf
.JS http://download.csdn.net/download/weixin_36795183/9983904
一:遇到的
问题
;
1、
中文
不支持
2、
中文
不换行
3、 如何显示
4、 不显示签章
二:生成(根据
html
字符串来生成
pdf
,方便我们的替换)
下边是应用itext
进行
编写的生成
pdf
代码(这里要支持
中文
需要导入相应的iTextAsia
您可以使用以下
Java
代码来生成
PDF
目录并可跳
转
:// 导入FlyingSaucer类库
import org.
xhtml
renderer
.
pdf
.IText
Renderer
;// 创建一个新的
PDF
文档
IText
Renderer
renderer
= new IText
Renderer
();// 循环生成目录
for(int i = 0; i < numOfPages; i++) {
// 生成目录项
renderer
.addNamedDestination("page" + i, i, 0, 0);
// 生成对应的页面
内容
renderer
.getRootNode().addElement(createPageContent(i));
}// 将
PDF
文档写入流
OutputStream os = new FileOutputStream("document.
pdf
");
renderer
.layout();
renderer
.create
PDF
(os);
os.close();