Flying Saucer / IText中特殊字符的意外包装

时间:2018-02-05 14:55:12

标签: java pdf itext flying-saucer

我有一个通过工作流生成PDF的java应用程序: Java - > XML + XSL - > HTML - >飞碟 - > PDF 即可。我正在使用以下maven依赖项。

<dependency>
    <groupId>org.xhtmlrenderer</groupId>
    <artifactId>flying-saucer-pdf-itext5</artifactId>
    <version>9.0.7</version>
</dependency>

在我的报告中,我需要显示名称&#34;员工年龄(数值)&#34;在一个小的专栏中。在HTML中,它在整个调整大小过程中看起来是正确的,在最小的大小中,我们可以看到包装不会分解任何单词,它只包含在空白区域。

enter image description here

我使用HTML并通过以下的FlyingSaucer / Itext代码运行它。

File pdf = new File(creationDir, fileName + "." + uuid + ".pdf");
ITextRenderer renderer = new ITextRenderer();
SharedContext sharedContext = renderer.getSharedContext();
sharedContext.setPrint(true);
sharedContext.setInteractive(false);
sharedContext.setReplacedElementFactory(new Base64ImgReplacedElementFactory());
sharedContext.getTextRenderer().setSmoothingThreshold(0);
renderer.setDocument(html);
renderer.layout();
renderer.createPDF(new FileOutputStream(pdf, true));
return pdf;

当我查看生成的PDF中的文本时,我看到: enter image description here

这似乎是不正确的,因为&#34;(&#34;应该在&#34之前的第二行;数字&#34;。据我所知,似乎可以添加空格自动在特殊字符的末尾?如果我替换&#34;(&#34;与任何字母数字字符,它被正确包裹在第二行的单词的一部分。感谢任何和所有的帮助。

0 个答案:

没有答案