我有一个庞大的PDF字体类型列表,这里有一部分:
'/ANHCHM+Helvetica-Bold',
'/KOFANE+AGaramondPro-Regular',
'/AJHCPE+AdvOT863180fb',
'/FHEENC+AdvP4C4E74',
'/FCHDEE+AdvTimes-bi',
'/EKIEME+Helvetica',
'/OEPPAM+AdvOT8608a8d1+22',
'/PNLJMH+MqxhpfAdvTT4ff65459',
'/MLJNOB+Helvetica-Bold',
'/FCHAFA+AdvTT689d5d16.B+20'
其中一些是可读的,如"Helvetica Bold"或"Helvetiga",但其他则是完全编码的。
我需要从这个列表中发现以下信息:是否为粗体,是否为斜体,文本大小,以及是否可以使用更可读的字体格式,如"Times New Roman"、"Arial"。
你知道有这样的库吗?或者你能告诉我这些奇怪名字的逻辑是什么吗?
谢谢!
这些是/Resources字典中的字体id,它们的名称没有任何意义
您必须在字体字典、字体描述符以及可能的实际字体数据(如果嵌入了字体)中查找您要查找的信息
粗体-没有特定标志可以告诉字体是否为粗体/字体字典中的BaseFont条目可以给你一个提示,字体描述符中的/FontWeight条目也可以给你提示
字体描述符中的italic-/ItalicAngle条目可以提供此信息。此外,/BaseFont条目可以为您提供提示(如果名称包含斜体或斜体单词)
文本大小-您必须解析页面内容才能找到特定文本实例的大小
可读字体名称-/BaseFont条目通常包含字体名称。但是PDF生成器应用程序可以为字体子集创建自定义名称,因此您无法知道原始字体。您可以进一步检查字体描述符中的/FontFamily条目,也可以分析字体名称信息的实际字体数据。