我正在使用XSLT将XML转换为XSL-FO,然后从中创建PDF(使用Apache FOP)。不幸的是,我在XML中使用HTML编码的字母,如:
<TAG>wpływ</TAG>
如何在输出PDF中使用Ł
代替ł
?
答案 0 :(得分:0)
似乎没有正确设置FOP的配置。编辑或复制您在FOP安装目录的fop.xconf
文件夹中找到的文件conf
。
在此文件中,找到<renderer mime="application/pdf">
标记。在<fonts>
子标记内添加<auto-detect/>
。
您应该获得这样的<renderer>
配置(我已删除所有已注释的文本):
<renderer mime="application/pdf">
<filterList>
<!-- provides compression using zlib flate (default is on) -->
<value>flate</value>
<!-- encodes binary data into printable ascii characters (default off)
This provides about a 4:5 expansion of data size -->
<!-- <value>ascii-85</value> -->
<!-- encodes binary data with hex representation (default off)
This filter is not recommended as it doubles the data size -->
<!-- <value>ascii-hex</value> -->
</filterList>
<fonts>
<!-- ... lots of commented stuff in here ... -->
<auto-detect/>
</fonts>
</renderer>
然后你应该使用-c
选项调用fop命令,例如
fop -c path/to/file/fop.xconf myfile.fo myfileout.pdf
它应该正常工作(假设字体可以正确呈现特定字符)。