扫描时CGPDFScanner - \ x15字符

时间:2015-07-07 10:37:15

标签: ios pdf cgpdfscanner

我正在尝试在pdf中提取第5页的文字。
pdf的字体为YLJAAA + CMSY10,没有映射(CMap)或甚至编码(默认编码或/差异)。
在提取文本时,在字符串“tetex package”CGPDFScanner之后返回多次遇到的“\ x15”字符。
当遇到这个字符时,当前字体是上面提到的字体,它没有从pdf字符串中提取文本。 这个\ x15字符是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

我发现了2次(不是"很多"):

[ (\025) ] TJ

这是 octal 中的数字 - 这是十六进制的\x15数字。

" YLJAA + CMSY10"的字体定义在PDF中没有特殊的编码,因此它具有" CMSY"的默认编码。 ("计算机现代符号"):

114 0 obj
<<
  /Type         /Font
  /Subtype      /Type1
  /BaseFont     210 0 R % -> "/YLJAAA+CMSY10"
  /FirstChar    0
  /FontDescriptor 211 0 R
  /LastChar     127
  /Widths       204 0 R
>>

211 0 obj
<<
  /Ascent       750
  /CapHeight    683
  /CharSet      (/bullet/greaterequal/arrowright/arrowdblright/element/negationslash/backslash/radical)
  /Descent      0
  /Flags        4
  /FontBBox     [ -29 -960 1116 775 ]
  /FontFile     205 0 R
  /FontName     210 0 R   % -> '/YLJAAA+CMSY10'
  /ItalicAngle  -14
  /StemV        85
  /XHeight      430
>>
endobj

本身,这仍然没有明确说明:PDF制作人可以随意重新排序字形和编码,只要它与嵌入字体相同即可。假设字体集未重新排序,则检查a random list of CMxx encodings表示字符代码0x1F可能大于或等于(Unicode U + 2265)。

Acrobat同意;检查PDF中的字体显示字符代码21(十进制)命名为&#39; GREATER-THAN OR EQUAL&#39;并且看起来也像一样。