Странная кодировка pdf-потока

Я изучаю внутреннюю структуру 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 31.03.2023 18:22

@tkausl извините, вы правы, я не уточнил. Я сейчас отредактировал сообщение, чтобы указать все.

Teo7 31.03.2023 18:33
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
Включение UTF-8 в jsPDF с помощью Angular
Включение UTF-8 в jsPDF с помощью Angular
Привет, разработчики, я предполагаю, что вы уже знаете, как экспортировать pdf через jsPDF. Если ответ отрицательный, то вы можете ознакомиться с моей...
0
2
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Эти числа являются просто индексами в карте символов.

Изучите несжатый 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.

Другие вопросы по теме