最近在搞一个关于html转换为pdf的需求,网上找了很多,但是如果批量处理就会出现问题,最后找到了PD4ML,解决了我的问题
package fonts; import java.awt.Dimension; import java.awt.Insets; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import org.zefer.pd4ml.PD4Constants; import org.zefer.pd4ml.PD4ML; public class TextHtml { protected Dimension format = PD4Constants.A4; protected boolean landscapeValue = false; protected int topValue = 5; protected int leftValue = 10; protected int rightValue = 10; protected int bottomValue = 10; protected String unitsValue = "mm"; protected String proxyHost = ""; protected int proxyPort = 0; protected int userSpaceWidth = 1100; public static void main(String[] args) throws Exception { TextHtml converter = new TextHtml(); //for (int i = 0; i < 7000; i++) { converter.generatePDF_2(0); // } } public void generatePDF_2(int i) throws Exception { ByteArrayOutputStream ba = new ByteArrayOutputStream(); PD4ML pd4ml = new PD4ML(); pd4ml.setPageSize(new java.awt.Dimension(450, 450)); pd4ml.setPageInsets(new java.awt.Insets(5, 5, 5, 5)); pd4ml.enableImgSplit(false); pd4ml.useTTF("java:fonts", true); try { pd4ml.setPageSize(landscapeValue ? pd4ml .changePageOrientation(format) : format); } catch (Exception e) { e.printStackTrace(); } if (unitsValue.equals("mm")) { pd4ml.setPageInsetsMM(new Insets(topValue, leftValue, bottomValue, rightValue)); } else { pd4ml.setPageInsets(new Insets(topValue, leftValue, bottomValue, rightValue)); } pd4ml.setHtmlWidth(userSpaceWidth); String urlstring = "file:///D:/债权转让及受让协议--魏然2014-08-16.html"; URL url = new URL(urlstring); pd4ml.render(urlstring, ba); try { FileOutputStream out = new FileOutputStream("d:\\demo\\pdf\\"+3311+".pdf"); ba.writeTo(out); out.flush(); out.close(); ba.close(); } catch (IOException e) { e.printStackTrace(); } } }
需要在src目录下创建fonts文件夹,并且在文件夹中建立pd4fonts.properties ,配置文件中的内容如下
#this is an autogenerated file. please remove manually any references to copyrighted fonts #Fri Oct 23 19:43:12 CEST 2009 KaiTi_GB2312=STZHONGS.TTF
STZHONGS.TTF 需要到C:\Windows\Fonts找到放到同级目录下
相关推荐
1.用户导入word生成pdf -首先导入word的时候读取word里面的全部内容。调用(ReadAndWriteDoc)然后将内容 传送到createPdf里面生成pdf。导入的时候读取采用poi /生成的时候采用的是...4.将html转换成pdf(itext)
html转化成PDF
1.用户导入word生成pdf -首先导入word的时候读取word里面的全部内容。调用(ReadAndWriteDoc)然后将内容 传送到createPdf里面生成pdf。导入的时候读取采用poi /生成的时候采用的是itext ...4.将html转换成pdf(itext)
html转换成PDF文件的相关demo,包括html文件,关键的maven依赖,和java文件
将html转换成pdf,传递url,生成pdf,适合简单的pdf制作,不支持分页
HTML转PDF 需要jar包 iText-2.0.8.jar,core-renderer.jar(有支持中文和换行的)
NULL 博文链接:https://gaojunwei.iteye.com/blog/1996749
比如word转成pdf,rtf转换成pdf,txt转成pdf,html转换成pdf,xls转换成pdf,ppt转换成pdf,xml转换成pdf,使用word 转 pdf软件无需安装Adobe Acrobat,Acrobat Reader pdf软件。 word转pdf(pdftoword)工具是一款Word...
itext+flaying saucer,html转化成pdf所用到的所有jar包,并且已经修改了core-renderer.jar,使其能够支持中文换行,中文显示。
NULL 博文链接:https://bewithme.iteye.com/blog/1746493
使用iText-2.0.8将Html转换为pdf,带图片功能
在html转化为pdf时,解决中文不显示问题,要用到的中文字体包 simsun.tt
java实现html转pdf,包含后端代码,html测试页面,pom依赖,jar包,如页面过于复杂需调整页面,有些样式itextpdf不支持,请寻找其它样式替换。
本程序用于将目录下的所有图片文件转化生成PDF文件,内含UI界面,先将图片转化成html然后采用wkhtmltopdf将html转化成pdf。
经过大牛修改后的core-renderer.jar,当把HTML转化成PDF时支持table的td中的中文、英文和数字自动换行,table必须添加样式table-layout:fixed;word-break:break-strict;
1、itext将静态html转pdf中文显示及换行问题 2、itext将静态html转pdf 字体问题 3、html转pdf 参考我的另外一篇博文https://blog.csdn.net/qq_38616723/article/details/125188407?spm=1001.2014.3001.5502
比如word转成pdf,rtf转换成pdf,txt转成pdf,html转换成pdf,xls转换成pdf,ppt转换成pdf,xml转换成pdf,使用word 转 pdf软件无需安装Adobe Acrobat,Acrobat Reader pdf软件。 word转pdf(pdftoword)工具是一款Word...