参考 《让Fastreport3.x支持中文PDF的输出》一文,确实可以支持中文。但是发现两个问题:
1、只能在Adobe Reader下打开,在Foxit Reader下空白。
2、用Adobe Acrobat或者Adobe Reader打开时提示rebuild,关闭时提示save
研究了一下Fastreport3.14和3.07的源代码,发现关于字体这部分重新调整了。在3.07下,每个type0的字体有三个obj表示,而在3.14下只用两个obj(把FontDescriptor放进实际字体中去了)。3.14中源代码中有个小bug,漏掉了实际字体obj的ref(原frxPDFfile.pas的985行和986行之间)。Foxit Reader应该是严格按照ref去找obj的,找不到obj,所以显示不出来。Adobe Reader应该不是按ref找的,能够正常显示汉字,但是它会重新ref,所以提示rebuild。
修改后的TfrxPDFFont.SaveToStream替换原来的即可。
镶入字体还不行。有时间再说。3.15的说明中有说增强了PDF导出的功能,期待中。
proced...[ 查看全文 ]