为什么pdfbox和pdfrenderer都不能支持“其他字体”?

时间:2010-03-30 07:37:21

标签: java fonts pdfbox pdfrenderer

我有一个包含'UniCNS-UCS2-H'字体的pdf, 我尝试了pdfbox和pdfrenderer,它们都抛出异常: “UniCNS-UCS2-H”的未知编码

并且这个字体包含在一个字体文件中:mingliu.ttc(这是一个真正的类型集合文件,我不知道这有关系吗?

如何让这两个库支持其他字体?

1 个答案:

答案 0 :(得分:2)

PDF文档中字体的编码在字体字典对象中指定。您遇到的字体使用'UniCNS-UCS2-H'进行编码,据我所知,这是中文编码的变体。

PDFBox仅支持4种编码:

  1. PDFDocEncoding
  2. MacRomanEncoding
  3. StandardEncoding
  4. WinAnsiEncoding
  5. 这些是在pdf流中的字体字典对象中定义的  (例如.../Encoding/WinAnsiEncoding/...

    当PDFBox遇到未知编码时,会显示您报告的异常。

    有关PDF文档中字体的详细信息,请参阅PDF Specification

    的第9.5至9.8节