itext html 转换 pdf文件,利用itext实现html转pdf文档
Link: http://keyknight.blog.163.com/blog/static/366378402009431104941637/
利用itext實(shí)現(xiàn)html轉(zhuǎn)pdf文檔的代碼實(shí)在是太簡(jiǎn)單了:
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的同學(xué)碰到過這個(gè)問題,不過我沒有找到現(xiàn)成的解決方案。
閱讀了itext的源代碼,發(fā)現(xiàn)itext是以xml的方式解析html文檔的,于是想到了一種辦法:定義entity解決?的問題。具體代碼如下:
]>
2. 如何設(shè)置table的列寬
不要在td的width或者style屬性上白費(fèi)力氣了,要想設(shè)置table的列寬,正確的做法是指定table的2個(gè)非html標(biāo)準(zhǔn)屬性columns和widths:
3. 設(shè)置font
不要使用style屬性的font項(xiàng),一定要用font-weight, font-size這樣的明細(xì)項(xiàng)。如果要設(shè)置字體的顏色,可以在style中指定color項(xiàng)。另外需要注意的是,在td的style中設(shè)置字體屬性是無 效的,最好的選擇是將文本放在div或者span中,然后設(shè)置div或者span的style。
總結(jié)
以上是生活随笔為你收集整理的itext html 转换 pdf文件,利用itext实现html转pdf文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试知识产权保护,一种软件测试方法及
- 下一篇: java判断优先级代码_java运算符的