利用itext进行html转pdf
来源:互联网 发布:梁朝伟刘嘉玲 知乎 编辑:程序博客网 时间:2024/06/05 12:39
之前利用itext进行html转pdf,实际使用中还是有些地方确实需要注意的,我所遇到的归纳以下几个问题:
1,中文的支持
2,html格式要求严格
3,pdf里面文字换行问题
第一个中文支持呢,我看就通过:
- ITextRenderer renderer = new ITextRenderer();
- ITextFontResolver font = renderer.getFontResolver();
- font.addFont("C:/WINDOWS/Fonts/simsun.ttc",
- BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
就差不多了,其实有个疑问的,就一种字体?多添加几种字体都不行
这样加了还不行的,html文档里面还就只能设定这个字体,设了其他字体就不行了,这个比较郁闷。
这就还正好牵到第二个问题,html格式非常非常严格,有丁点的不对的地儿就报错,这个更郁闷。
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <htmlxmlns="http://www.w3.org/1999/xhtml">
- <head>
- <style>
- body{
- font-family:SimSun;
- font-size:14px;
- }
- </style>
- <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"></meta>
贴出我html一段代码,下面拼下head,body就ok,注意一定要配对,这个html最上面还多了个xml定义,开始是遇到html.version错,一直没找到原因,就google了下,有用的消息不是很多,因为有的人不需要这个也没关系,但是我这就是错,查了官网,看到demo上面多了个xml定义,才copy过来看看,还真是这样的错,又一个郁闷的地儿。
至于第三个问题,哎呀妈呀,愣是被折磨了两天,想尽各种办法,没辙。。。。
google,baidu都没找到合理的解释,大家很少遇到这个原因,我想因为,大多数生成pdf应该是基于模板生成什么报表之类的,都是出来个表格之类的,没遇到输出大量文字信息,就比如下面一段html:
- <body>
- <table style="margin-top: 120px;table-layout:fixed; word-break:break-strict;">
- <tbody>
- <tr>
- <td>
- <b>新华社中国网事:【莫言:诺贝尔奖金将用来买房】巨额奖金怎么用?</b><br/>刚刚获得诺贝尔文学奖的莫言在接受新华社中国网事记者专访时笑着说:“我准备在北京买套房子,大房子,后来有人提醒我说也买不了多大的房子,5万多一平米,750万也就是120多平米。”
- </td>
- </tr>
- </tbody>
- </table>
- </body>
body中有个table,就一行文字,但是呢,一行非常长的文字,没有换行,这样输出的pdf就会把表格撑开,一行显示,pdf就显示不全这些文字,就是这个问题,把我搞死了,还好不断的摸索,尝试,google,终于网上有哥们给出解决办法,给出链接:【他解决问题还是蛮多的,顶起http://blog.csdn.net/shanliangliuxing/article/details/6833471】原来是itext源码问题,完全忽略咱强大的china的存在,他源码换行是按照空格换行,老外嘛,单词之间空格表示,咱中文不行啊,所以果断修改源码,感谢哥们提供下载,我试过了,没有问题的
这样用需要有CSS配合,上面table中
- table-layout:fixed; word-break:break-strict;
- 利用itext进行html转pdf
- iText html转pdf
- 利用Flying Saucer 和 iText 实现HTMl转PDF(java)
- 利用Flying Saucer 和 java iText 实现HTMl转PDF
- iText实现html转pdf
- 利用iText写PDF心得[转]
- 利用iText写PDF
- 利用ITEXT操作PDF
- java itext html转pdf[续篇]
- itext将html转pdf中文支持
- itext html to pdf
- itext html 生成pdf
- Itext 导出PDF(中文解决,HTML转PDF)
- 利用iText写PDF心得
- 利用iText写PDF心得
- 利用iText生成PDF文档
- 利用iText生成PDF报表
- 利用itext创建PDF表格
- id的兄弟—uniqueID
- AMD官方宣布要做ARM架构了
- sqlldr--将OS中非oracle数据导入oracle(一)
- Win7重新分区指令
- 如何把linux设置成cisco路由器的日志服务器?
- 利用itext进行html转pdf
- MySQL命令行--导入导出数据库
- 原先能正常使用的java,一段时间后无法使用
- sqlldr常规路径----导入500W行os数据到oracle的实验(一)
- MPMoviePlayerController 缓存在线视频
- android Menu相关
- Android Application Info
- IBM AIX系统安装 及 初始配置
- C语言运算符优先级 详细列表