我试图在pdf格式中提取第5页的文本。
pdf有一个字体YLJAAA+CMSY10,它没有映射(CMap)甚至编码(默认编码或/Differences)。
在提取文本时,字符串"tetex package“CGPDFScanner返回多次遇到的”x15“字符。
当遇到这个字符时,当前字体是上面提到的字体,它没有从pdf字符串中提取文本。这是什么\x15字符?
谢谢。
发布于 2015-07-07 11:41:50
我发现有两次(不是“很多”)发生了这种情况:
[ (\025) ] TJ这是一个八进制的数字,这是十六进制中的\x15。
PDF中"YLJAA+CMSY10“的字体定义没有特殊编码,因此它具有"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生成器可以随意地重新排序符号和编码,只要它对嵌入的字体做同样的操作)。假设字体集没有重新排序,检查CMxx编码的随机列表显示字符代码0x1F很可能大于OR等于(Unicode U+2265)。
Acrobat同意;检查PDF中的字体显示字符代码21 (十进制)被命名为“大于或等于”,并且看起来也是如此。
https://stackoverflow.com/questions/31266236
复制相似问题