首先,当然是找到能够解析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();