首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

html 生成 pdf 兑现思路和代码,基于itext

2012-11-11 
html 生成 pdf 实现思路和代码,基于itext?解决了中文就该说说生成pdf常见的问题,如分页,如页眉,页脚,超链,

html 生成 pdf 实现思路和代码,基于itext

?

解决了中文就该说说生成pdf常见的问题,如分页,如页眉,页脚,超链,图片,margin不过我懒得写了,附件中有个pdf里面都有解决方法。

?

直接贴代码吧?

?

StringBuilder sb = new StringBuilder();BufferedReader reader = new BufferedReader(new FileReader(new File("abc.html")));String line = null;while((line = reader.readLine()) != null){sb.append(line).append("\r\n");}ITextRenderer render = new ITextRenderer();ITextFontResolver font = render.getFontResolver();try {font.addFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //   font.addFont(Html2Pdfs.class.getResource("SIMSUN.TTC").toString().substring(6), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);} catch (DocumentException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}OutputStream os = new FileOutputStream(pdf);render.setDocumentFromString(sb.toString());render.layout();render.createPDF(os);os.close();
?

很简单吧,不过生成速度非常慢,我测试过纯itext的生成速度非常快,那么应该是解析css慢。没办法谁叫只有这一家支持css呢,要不就只能去用itext了。


1 楼 wind13 2011-05-14   Html2Pdfs 是个什么类?没有提到啊! 2 楼 feiyan35488 2011-05-15   wind13 写道Html2Pdfs 是个什么类?没有提到啊!
那行代码是加载html2pdfs所在包下的 ttc字体文件,你可以用任意路径进行替换 3 楼 melin 2011-05-15   看看我的实现方式:
http://melin.iteye.com/admin/blogs/982238 4 楼 feiyan35488 2011-05-15   melin 写道看看我的实现方式:
http://melin.iteye.com/admin/blogs/982238
我也是这个思路实现的,flyingsaucer+itext的效率太低了,而且只能支持中文字体文件才能解决种问题,还有中文换行的问题。你都解决了? 5 楼 xylsyangchun 2011-05-27   有具体可以编辑 PDF页面的代码例子吗?

还有在ftl模板文件里面如何标记一个对象集合! 6 楼 feiyan35488 2011-05-27   xylsyangchun 写道有具体可以编辑 PDF页面的代码例子吗?

还有在ftl模板文件里面如何标记一个对象集合!
编辑pdf已经超出了本贴的范围,那是另一个领域了。ftl不会请去看freemarker的中文文档,挺多的。我的博客里也有入门教程 7 楼 apchy 2011-05-27   我以前解决这个用了PD4ML,这个包不错,输出效果很好,不过收费,免费的输出pdf页脚有版本信息,有点遗憾 8 楼 wqq0712 2011-05-27   原来公司有个类似的需求..上网找了很多方案..发现都不是非常完美..
最后无奈的使用的"曲线救国"方案..使用java调用pdfcreator的COM接口实现的..
(pdfcreator一个VB写的开源pdf文件生成软件.支持word->pdf,html->pdf),
总体使用来说还是不是很理想

对你的帖子保持关注..

热点排行