从 pdf 中提取字体名称时,我会得到一些垃圾字符,后跟加号,然后是带有字体样式的字体名称。我想删除垃圾字符。只有少数 pdf 我得到了垃圾字符。示例:MMLPEO+RemingtonNoiseless
string curFont = renderInfo.GetFont().PostscriptFontName;
有关说明,请参阅 PDF 规范 ISO 32000-1:2008: 第 9.6.4 节 字体子集
对于字体子集,字体的 PostScript 名称(字体的 BaseFont 条目的值和字体描述符的 FontName 条目)应以标签开头,后跟加号 (+)。标签应由六个大写字母组成;字母的选择是任意的,但同一 PDF 文件中的不同子集应具有不同的标签。
示例 EOODIA+Poetica 是 Poetica® 子集的名称,属于 Type 1 字体。
因此,这些字符不是垃圾,它们是标签。
“垃圾”字符表示字体未完全嵌入。 您会发现诸如 ABC123+RemingtonNoiseless、XYZ456+RemingtonNoiseless 等名称... 这意味着 PDF 中可能存在相同字体的不同子集。
有关说明,请参阅 PDF 规范 ISO 32000-1:2008: 第 9.6.4 节 字体子集
对于字体子集,字体的 PostScript 名称 — 字体的 BaseFont 条目和字体描述符的 FontName 条目的值 — 应 以标签开头,后跟加号 (+)。标签应由六个大写字母组成;字母的选择是任意的, 但同一 PDF 文件中的不同子集应具有不同的标签。
示例 EOODIA+Poetica 是 Poetica® 子集的名称,属于 Type 1 字体。
换句话说:这些角色不仅仅是“垃圾”。 如果你想删除它们,那是理所当然的,只需使用适当的字符串操作方法, 但请注意,删除它们会丢弃在某些情况下可能有用的信息。