我正在使用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));发布于 2011-08-11 06:29:13
应该能行得通。你能提供有关iText版本和超文本标记语言代码的信息吗?图像可以使表格超出边距(顺便说一句,这不是像素)。
尝试此代码,看看问题是否仍然存在。表格不应扩展到超出页边距。与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();https://stackoverflow.com/questions/6995548
复制相似问题