GhostPCL создает недействительный PDF - PullRequest
0 голосов
/ 26 июня 2018

Я только что скачал GhostPCL .

Вот как я звоню GhostPCL:

> gpcl6win64.exe -sDEVICE=pdfwrite -o C:\temp\output.pdf C:\temp\input.spl

Input/Output: Получить его из моего DropBox

Сгенерированный pdf кажется сломанным.

Я не могу выбрать текст, как ожидалось

enter image description here

и когда я копирую выбранный контент в блокнот, это выглядит так:

PDF-контент

Я что-то упустил или есть ошибка в GhostPCL?

1 Ответ

0 голосов
/ 26 июня 2018

Это потому, что PCL имеет очень ограниченную информацию о том, что представляет собой данный код символа в терминах другой кодировки. Скажем, например, Unicode.

Вполне возможно, что на странице PCL можно загрузить собственный поднабор шрифта, а затем использовать коды символов, которые работают с этим шрифтом только «правильно».

Например, скажем, что мы встраиваем шрифт таким образом, что мы устанавливаем код символа 1 для первого используемого символа, код символа 2 для второго и так далее. Затем мы отправляем текст «Hello World»

Это тогда будет представлено в PCL как

0x01 0x02 0x03 0x03 0x04 0x05 0x06 0x04 0x07 0x03 0x08

Очевидно, что это не какой-либо вид кодирования, который имеет смысл, и у PCL нет никаких средств для переноса отображения Unicode.

Теперь ваш PCL-файл содержит несколько шрифтов TrueType, и «возможно», что в подтаблицах CMAP шрифтов достаточно информации, чтобы воскресить какое-то значение из «текста», но GhostPCL не имеет этого вид сложности.

Так что нет, вы ничего не упускаете, и нет, это не ошибка. Обратите внимание, что целью pdfwrite является то, что полученный PDF-файл должен быть визуально таким же, как печатный вывод, и ничего более. Несмотря на пожелания людей, PDF никогда не разрабатывался как редактируемый формат, и подавляющее большинство файлов PDF не может быть отредактировано, и при этом они не могут надежно извлекать «текст» из них. Некоторые из них будут работать, многие - нет.

...