【发布时间】:2022-01-14 02:28:53
【问题描述】:
我正在使用 docx4j-export-FO 11.3.2 使用此处https://github.com/plutext/docx4j-export-FO/blob/master/src/samples/docx4j/org/docx4j/samples/ConvertOutPDFviaXSLFO.java 中的示例代码将 docx 文件转换为 xsl-fo。每当 docx 存档中的 word/document.xml 中存在像 <w:t xml:space="preserve"> </w:t> 这样的独立空格时,它就会被忽略并在生成的 xsl-fo 文件中丢失。如果空格与非空格字符在相同的<w:t> 中,则包含它。
word/document.xml 中的问题情况示例:
<w:r>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t>Testing</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t xml:space="preserve"> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t>whitespace</w:t>
</w:r>
在使用 XSLT 导出器 (Docx4J.FLAG_EXPORT_PREFER_XSL) 时会发生这种情况,当使用访问者导出器 (Docx4J.FLAG_EXPORT_PREFER_NONXSL) 时会保留空白,但它会从 docx 文件中删除所有空白行,因此也不适合我,因为我需要将 xls-fo 进一步转换为 pdf。 我尝试在互联网上搜索,但找不到确切的这个问题,这是否意味着它应该以这种方式工作,或者我可以使用任何配置或解决方法来解决这个问题?
【问题讨论】:
-
当您说“从 docx 文件中删除所有空白行”时,您能否举一个输入 WordML 的示例?
-
更好的是,发布生成的 XSL FO 文件。只有这样,我们才能帮助调试他们的 XSL FO 导出所创建的内容