Java 如何在ApacheFop2.3中将字体呈现为形状

Java 如何在ApacheFop2.3中将字体呈现为形状,java,java-8,apache-fop,batik,java-12,Java,Java 8,Apache Fop,Batik,Java 12,我想将旧的FOP 0.94更新为新的FOP 2.3。在旧的FOP中,字体呈现为形状。我希望保留此行为,因此我尝试将以下内容设置为PDFTranscoder: PDFTranscoder pdfTranscoder = new PDFTranscoder(); pdfTranscoder.addTranscodingHint(PDFTranscoder.KEY_STROKE_TEXT, Boolean.TRUE); 但如果这样做,将不会在即将发布的PDF中呈现任何字体。如何告诉FOP将字体渲染为

我想将旧的FOP 0.94更新为新的FOP 2.3。在旧的FOP中,字体呈现为形状。我希望保留此行为,因此我尝试将以下内容设置为
PDFTranscoder

PDFTranscoder pdfTranscoder = new PDFTranscoder();
pdfTranscoder.addTranscodingHint(PDFTranscoder.KEY_STROKE_TEXT, Boolean.TRUE);
但如果这样做,将不会在即将发布的PDF中呈现任何字体。如何告诉FOP将字体渲染为形状

如果我删除:

pdfTranscoder.addTranscodingHint(PDFTranscoder.KEY_STROKE_TEXT, Boolean.TRUE);
然后文本将以PDF格式输出,但不会呈现为形状

关于文本绘画的注记

以前还有一个提示,
abstractFoptTranscoder.KEY\u STROKE\u TEXT
(内容:
java.lang.Boolean
),但此提示已被禁用。它用于强制将文本绘制为形状

今天的PDF转码器尽可能使用PDF操作来绘制文本。只有在特殊效果或转换等情况下,蜡染才会将文本转换为形状。作为形状的文本输出将对性能产生负面影响,并将导致更大的PDF。目前除了投入一些时间改进PDF转码器中的文本输出外,没有其他解决方法。欢迎帮助


如果要使用自定义字体,需要将其添加到。请提供你的。我只是通过Maven使用lib,它必须是默认配置。如果没有添加转码提示
KEY\u STROKE\u TEXT
,为什么要呈现字体?