我有一个包含“ unicns-ucs2-h”字体的PDF,我尝试了PDFBox和PDFrenderer,它们都抛出了例外:“UniCNS-UCS2-H”的未知编码

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

我该怎么做才能让这两个库支持其他字体?

有帮助吗?

解决方案

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

PDFBox 仅支持 4 种编码:

  1. PDF文档编码
  2. MacRoman编码
  3. 标准编码
  4. WinAnsi编码

这些在 pdf 流内的字体字典对象中定义
(例如。 .../Encoding/WinAnsiEncoding/...)

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

有关 PDF 文档中字体的更多信息,请参阅 PDF 文档的第 9.5 节到 9.8 节。 PDF 规格

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top