Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用iText的PDF格式的HTML表格_Java_Html Parsing_Itext - Fatal编程技术网

Java 使用iText的PDF格式的HTML表格

Java 使用iText的PDF格式的HTML表格,java,html-parsing,itext,Java,Html Parsing,Itext,我正在用Java中的HTMLWorker解析一些html代码,然后用iText将其插入PDF。我通过调用newdocument(PageSize.A4,40,40,40,40)创建文档应该在所有边上指定边距40px,但当我插入包含比页面宽的表格的解析html代码时,右边距不起作用,表格到达页面的右边框。。。除了右边的外,所有的页边距都可以。。有什么建议吗 相关代码: Document document = new Document(PageSize.A4, 40, 40, 40, 40); H

我正在用Java中的HTMLWorker解析一些html代码,然后用iText将其插入PDF。我通过调用
newdocument(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));
Document Document=新文档(PageSize.A4,40,40,40,40);
HashMap=newHashMap();
put(HTMLWorker.FONT_提供程序,新的MyFontFactory10());
HTMLWorker=新的HTMLWorker(文档);
worker.setProviders(map);
parse(新的StringReader(包含HTML代码的变量);
它应该能工作。 你能提供关于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();
Document Document=新文档(PageSize.A4,40,40,40,40);
PdfWriter writer=PdfWriter.getInstance(文档,新文件输出流(“c:/TEST.pdf”);
document.open();
HTMLWorker=新的HTMLWorker(文档);
String code=“TestTest”;
parse(新的StringReader(代码));
document.close();