我的PDF字体名称中的多余字符是什么?

从pdf中提取字体名称时,我会得到一些垃圾字符,然后是加号,然后是字体名称和字体样式。 我想删除垃圾字符。只有少数pdf我得到垃圾字符。 例如:MMLPEO + RemingtonNoiseless

string curFont = renderInfo.GetFont().PostscriptFontName; 

“垃圾”字符表示字体未完全嵌入。 您将找到诸如ABC123 + RemingtonNoiseless,XYZ456 + RemingtonNoiseless等名称…意味着PDF内可能存在相同字体的不同子集。

有关说明,请参阅PDF规范ISO 32000-1:2008的第9.6.4节字体子集

对于字体子集,字体的PostScript名称 – 字体的BaseFont条目的值和字体描述符的FontName条目 – 应以标记后跟加号(+)开头。 标签应由六个大写字母组成; 字母的选择是任意的,但同一PDF文件中的不同子集应具有不同的标签。

示例EOODIA + Poetica是Poetica®(Type 1字体)子集的名称。

换句话说:这些角色不仅仅是“垃圾”。 如果你想删除它们,这是一个明智的选择,只需使用适当的字符串操作方法,但要注意删除它们会丢弃在某些情况下可能有用的信息。

有关说明,请参阅PDF规范ISO 32000-1:2008的第9.6.4节字体子集

对于字体子集,字体的PostScript名称 – 字体的BaseFont条目的值和字体描述符的FontName条目 – 应以标记后跟加号(+)开头。 标签应由六个大写字母组成; 字母的选择是任意的,但同一PDF文件中的不同子集应具有不同的标签。

示例EOODIA + Poetica是Poetica®(Type 1字体)子集的名称。

因此,这些字符不是垃圾 ,它们是标签