`

利用itext实现html转pdf文档

    博客分类:
  • Java
 
阅读更多

Link: http://keyknight.blog.163.com/blog/static/366378402009431104941637/

 

 

利用itext实现html转pdf文档的代码实在是太简单了:

Document pdf = new Document(PageSize.A4, 50, 50, 50, 50);
try {
    PdfWriter.getInstance(pdf, new FileOutputStream("d:/t.pdf"));
    pdf.open();
    HtmlParser.parse(pdf, "D:/t.html");
} finally {
    pdf.close();
}

但是,还有很多问题需要解决:
1. 如何处理html中的 
The entity “nbsp” was referenced, but not declared.
相信很多使用itext的同学碰到过这个问题,不过我没有找到现成的解决方案。
阅读了itext的源代码,发现itext是以xml的方式解析html文档的,于是想到了一种办法:定义entity解决 的问题。具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html[
<!ENTITY nbsp " ">
]>
<html>
<body>...&nbsp;...</body>
</html>

2. 如何设置table的列宽
不要在td的width或者style属性上白费力气了,要想设置table的列宽,正确的做法是指定table的2个非html标准属性columns和widths:

<table border="0" width="100%" columns="3" widths="50;10;40">

3. 设置font
不要使用style属性的font项,一定要用font-weight, font-size这样的明细项。如果要设置字体的颜色,可以在style中指定color项。另外需要注意的是,在td的style中设置字体属性是无 效的,最好的选择是将文本放在div或者span中,然后设置div或者span的style。

 

分享到:
评论

相关推荐

    itext将静态html转pdf 中文显示及换行问题

    注意:此代码是利用itext将静态html转为pdf,非url转pdf 项目为maven项目,注意pom.xml文件中的jar包 解决了中文不显示及不换行的问题 https://blog.csdn.net/woweipingzui/article/details/82017089

    实现Html转PDF itextpdf-5.5.5.jar

    实现Html转PDF itextpdf-5.5.5.jar,尝试做个csdn博文下载器,首要解决的任务是html转pdf,百度到IText,查了很多教程Itext版本都比较老,我下的5.5.5的。套打之前需要先利用Adobe Acrobat Pro DC先做出要打印证书的...

    利用iText在JSP中生成PDF报表

    如果将它转成PDF文件再打印,则打印效果会好很多。 iText简介 iText是一个开放源码的Java类库,可以用来方便地生成PDF文件。大家通过访问...

    HTML转PDF.zip

    利用itextpdf 生成pdf文件

    HTML to PDF

    利用itext将html页面转换成pdf文件

    HtmlToPdf.zip

    利用IText组件,生成PDF文件 在Windows下调试通过,Linux和Mac需要设置字体名称

    html生成pdf文件

    利用flying和itext开源包,通过html模板生成PDF文件,使用简单,便于新手上手,附件是本人亲自测试通过的工程例子

    java生成pdf(利用dom4j、freemarker生成固定模板格式的pdf文件)

    iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件; Apache PDFBox,生成、合并PDF文档; docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。 比较: iText开源协议为AGPL,而其他两个框架协议均为...

    html转换为pdf案例的一些总结(多图推荐)

    客户端模式:前后台调用客户端程序,利用客户端程序的功能完成pdf文件转换。本次测试工具有:wkhtmltopdf和PhantomJS。java jar包解析类模式:java代码解析css样式,翻译html文件为pdf文件。本次测试类有:IText,...

    web开发常用jar

    通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iTextAsian.jar itext中关于亚洲编码的类库,在这里用于中文字体的输入。 junit.jar Junit包,当你运行Hibernate自带的测试...

    技术文档--业务层应用技术

     介绍JasperReports包结构,路径等。  介绍iReport ...不过JasperReports框架生成其他格式的文档还依赖另外一些开源项目,如果生成PDF文档依赖iText项目,将JasperReports的lib下的itext-1.3.1.jar

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可...

    java开发常用jar包

    通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iTextAsian.jar itext中关于亚洲编码的类库,在这里用于中文字体的输入。 junit.jar Junit包,当你运行Hibernate自带的测试代码的...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目源代码

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

    java源码包---java 源码 大量 实例

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

Global site tag (gtag.js) - Google Analytics