使用iText的PDF格式的HTML表格

时间:2011-08-09 11:35:54

标签: java html-parsing itext

我正在使用Java中的HTMLWorker解析一些HTML代码,然后使用iText将其插入PDF。我通过调用new Document(PageSize.A4, 40, 40, 40, 40);来创建文档,它应该在所有方面指定边距40px,但是当我插入包含比页面更宽的表格的解析的html代码时,右边距不起作用并且表格到达页面的右边界...所有边距都是好的,除了正确的..任何建议?

相关代码:

Document document = new Document(PageSize.A4, 40, 40, 40, 40);

HashMap<String, Object> map = new HashMap<String, Object>();
map.put(HTMLWorker.FONT_PROVIDER, new MyFontFactory10());

HTMLWorker worker = new HTMLWorker(document);
worker.setProviders(map);

worker.parse(new StringReader(VARIABLE_CONTAINING_HTML_CODE));

1 个答案:

答案 0 :(得分:1)

它应该工作。 您能否提供有关iText版本以及HTML代码外观的信息。 图像可以使表格扩展超出边距(顺便说一下,它不是像素)。

尝试此代码,看看问题是否仍然存在。该表不应超出页边距。与HTMLWorker一起使用的表总是获得其容器的100%宽度。

Document document = new Document(PageSize.A4, 40, 40, 40, 40);         
PdfWriter writer   = PdfWriter.getInstance(document, new FileOutputStream("c:/TEST.pdf"));
document.open();
HTMLWorker worker = new HTMLWorker(document);
String code = "<table border=1><tr><td>Test</td><td>Test</td></tr></table>"; 
worker.parse(new StringReader(code));
document.close();