Я изучаю внутреннюю структуру pdf, поэтому создал файл в libreofficewriter, написав только строку «Hello world» и экспортировал его в pdf. Поэтому я распаковал его с помощью: pdftk hello_world.pdf output hello_world_unc.pdf uncompress и открыл в текстовом редакторе.
Анализируя поток, я получаю что-то странное вроде этого: [<01>5<02>-6<03>2<03>2<040506>-2 <040703>2<08>]TJ который должен представлять «Hello world» в виде массива шестнадцатеричных строк (в угловых скобках) и целых чисел для указания интервала.
Я утверждаю, что файл содержит только эту строку, созданную именно в образовательных целях.
Проблема в том, что мне они не кажутся шестнадцатеричными символами, какими они должны быть. То есть, конечно, буква «Н» не представлена 01.
Я ожидал что-то вроде этого: (Hello world) Tj.
Может ли кто-нибудь помочь мне понять? заранее спасибо
@tkausl извините, вы правы, я не уточнил. Я сейчас отредактировал сообщение, чтобы указать все.


Эти числа являются просто индексами в карте символов.
Изучите несжатый PDF-файл глубже. И вы найдете несколько таких строк:
<01> <0048>
<02> <0065>
<03> <006C>
<04> <006F>
<05> <0020>
<06> <0077>
<07> <0072>
<08> <0064>
используется кернинг, поэтому вместо строки Tj используется массив TJ. Числа - это керны, измеренные в 1/1000 em (по памяти);
Строки <> представляют собой шестнадцатеричные строки PDF, а не обычные строки PDF;
Найдите карту /ToUnicode в шрифте. Если это существует, это поможет вам с сопоставлением кодовых точек PDF с последовательностями кодовых точек Unicode.
Как вы открыли/прочитали файл, чтобы получить этот вывод?