docx4j 无法正确呈现边距

docx4j cannot render margin properly

我正在使用 docx4j-ImportXHTML 将 XHTML 转换为 docx。渲染到 docx 时,我遗漏了一些样式信息。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Title of document</title>
</head>

<body>
<p>This is <b>bold</b></p>
------------------------
<p style="margin-top:200px;margin-right:150px;margin-bottom:100px;margin-left:100px;">indent text</p>
------------------------
</body>

</html>

当 运行 上述代码时,我在 docx 中看不到任何上边距(尽管有左边距)。此外,如果页边距定义为 %,例如 margin-left:4%,docx4j 将无法识别它。

  1. 还有什么我遗漏的吗?或者这只是 docx4j 限制?
  2. 在 Java 中是否有其他更好的选择来将 XHTML 转换为 docx

您要在段落或页边距周围添加 space 吗?

如果你想要页边距,你需要分页媒体 css 转换为 w:sectPr/w:pgMargin

在飞碟端,见https://flyingsaucerproject.github.io/flyingsaucer/r8/guide/users-guide-R8.html#xil_36

不过我认为我们尚未翻译该说明。