2015-07-07 7 views
0

Я пытаюсь извлечь текст страницы 5 в pdf.
В pdf есть шрифт YLJAAA + CMSY10, который не имеет сопоставлений (CMap) или даже кодировок (кодировка по умолчанию или/Различия).
При извлечении текста после строки «tetex package» CGPDFScanner возвращает символ «\ x15», который встречается много раз.
Когда этот символ встречается, текущий шрифт - это вышеупомянутый шрифт, который не имеет ничего, чтобы извлечь текст из строки pdf. Что это за символ \ x15?CGPDFScanner - символ x15 во время сканирования

Спасибо.

ответ

2

Я нашел 2 (не «много») вхождений этого:

[ (\025) ] TJ 

, который является числом в восьмеричной - это число, которое находится в шестнадцатеричном \x15.

Определение шрифта для "YLJAA + CMSY10" в формате PDF не несет никакой специальной кодировки, поэтому он имеет кодировку по умолчанию для "CMSY" ("Computer Modern Symbol"):

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 (десятичный) равен с именем «БОЛЬШОЙ-ЧЕМ ИЛИ РАВНО» и выглядит нравится.

+0

Но его появление после текста «tetex package» на стр. 5, у которого нет пули после него. После этого у него есть оператор ge. CGPDFScanner считывает неверные данные? – Swaroop

+0

Это то, что вы получаете за предоставление неполной и запутанной информации. Я отрегулирую свой ответ (хотя большая часть этого не меняется). – usr2564301

+0

Я упомянул об этом в моем вопросе – Swaroop