为什么pdfbox和pdfrenderer都不支持“附加字体”?
-
23-09-2019 - |
题
我有一个包含“ unicns-ucs2-h”字体的PDF,我尝试了PDFBox和PDFrenderer,它们都抛出了例外:“UniCNS-UCS2-H”的未知编码
这个字体包含在一个字体文件中:mingliu.ttc(这是一个真正的类型集合文件,我不知道这有什么关系吗?
我该怎么做才能让这两个库支持其他字体?
解决方案
PDF 文档中字体的编码在字体字典对象中指定。您遇到的字体是使用“UniCNS-UCS2-H”编码的,据我所知,这是中文编码的变体。
PDFBox 仅支持 4 种编码:
- PDF文档编码
- MacRoman编码
- 标准编码
- WinAnsi编码
这些在 pdf 流内的字体字典对象中定义
(例如。 .../Encoding/WinAnsiEncoding/...
)
当 PDFBox 遇到未知编码时,会显示您报告的异常。
有关 PDF 文档中字体的更多信息,请参阅 PDF 文档的第 9.5 节到 9.8 节。 PDF 规格
不隶属于 StackOverflow