我正在使用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 无法识别它。
- 还有什么我遗漏的吗,还是这只是 docx4j 的限制?
- 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/