java - docx4j 无法正确渲染边距

标签 java html xhtml docx docx4j

我正在使用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

最佳答案

您是否想在段落周围添加空间或页边距?

如果您想要页边距,则需要将分页媒体 CSS 转换为 w:sectPr/w:pgMargin

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

不过,我认为我们还没有翻译该指令。

关于java - docx4j 无法正确渲染边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57627557/

相关文章:

html - 如何在 "Alt text"中将文本显示为上标?

java - Spring-Hibernate : Insertion error, not-null 约束(一对多关系)

java - 单击按钮将选定的行值转换为 Javafx 中的字符串

Java正则表达式查找子字符串

html - 文本/链接背景在渐变背景上应该是透明的,但为白色

html - 可重复和可扩展的图像?是否可以?

java - jna maven构建javacard小程序时出错

javascript - 使文本仅滚动 HTML 页面的一部分

css - 响应式 div 的计算不起作用

javascript - 在完全加载页面之前,加载栏隐藏在jsf中