Java 使用XhtmlImporterImpl,Docx4j表列边框之间有空格
我正在尝试使用Java 使用XhtmlImporterImpl,Docx4j表列边框之间有空格,java,xhtml,docx,docx4j,Java,Xhtml,Docx,Docx4j,我正在尝试使用docx4j将HTML转换为docx。我将表的单元格间距和单元格填充属性设置为0。但是在我打开生成的文档后,每个单元格之间仍然有单元格间距。我使用XHTMLImporterImpl生成文档。以下是我使用的代码: String border = "border: 1px solid black;"; String testString = "<table cellspacing='0' cellpadding='0' style='" + border + "'>"
docx4j
将HTML转换为docx。我将表的单元格间距
和单元格填充
属性设置为0。但是在我打开生成的文档后,每个单元格之间仍然有单元格间距。我使用XHTMLImporterImpl
生成文档。以下是我使用的代码:
String border = "border: 1px solid black;";
String testString = "<table cellspacing='0' cellpadding='0' style='" + border + "'>"
+ "<tr>"
+ "<td style='border-spacing:0;padding:0;background-color:red;" + border + "'>This is test row1 col1</td>"
+ "<td style='border-spacing:0;padding:0;background-color:red;" + border + "'>This is test row1 col2</td>"
+ "</tr>"
+ "<tr>"
+ "<td style='border-spacing:0;padding:0;background-color:red;" + border + "'>This is row2 col1</td>"
+ "<td style='border-spacing:0;padding:0;background-color:red;'>This is row2 col2</td>"
+ "</tr>"
+ "</table>";
generateWord(testString);
结果如下:
每个单元格之间都有空格
旁注:如果我使用了CTAltChunk
,则每个单元格之间没有间距。但是CTAltChunk
无法处理Base64
图像。我可以将
与CTAltChunk
一起使用,但它将链接文档中的图像源。删除源图像后,该图像将从文档中消失。这就是为什么我需要使用Base64
image
public static void generateWord(String html) throws Docx4JException
{
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);
wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporter.convert( html, null) );
wordMLPackage.save(new java.io.File(System.getProperty("user.dir") + "/output.docx"));
}