Язык задания принтера -- > PDF

Я получил файл, не читаемый человеком, который я хотел бы сделать читаемым человеком.

как бы я идти о получении текста из файла:

thufir@dur:~/Documents$ 
thufir@dur:~/Documents$ file mystery.pdf 
mystery.pdf: HP Printer Job Language data
thufir@dur:~/Documents$ 
thufir@dur:~/Documents$ pdfinfo mystery.pdf 
Syntax Warning: May not be a PDF file (continuing anyway)
Syntax Error: Couldn't find trailer dictionary
Syntax Error: Couldn't read xref table
thufir@dur:~/Documents$ 
thufir@dur:~/Documents$ head -n 2 mystery.pdf 
%-12345X@PJL
@PJL ENTER LANGUAGE = HBP
thufir@dur:~/Documents$ 

Я не думаю, что это PDF файл,но уже print to file ' ed вместо export pdf'ed, или аналогичный, поэтому результатом является файл в PJL, а не pdf.

Читайте также:

http://forums.fedoraforum.org/showthread.php?t=247913

Я могу использовать ghostscript, чтобы вернуть его во что-то читаемое человеком?

это около 4000 строк:

5
задан Thufir
источник

2 ответов

The @PJL строки указать Язык Задания Печати заголовок, вставленный перед фактическим заданием печати. PJL используется для управления параметрами задания печати (например, дуплексирование, выбор лотка для бумаги, сшивание, штамповка, складывание вывода). Он был изобретен компанией HP.

формат задания печати может быть любым -- многие поставщики принтеров поддерживают и используют его для своего собственного (проприетарного) языка принтера.

интересная часть заключается в следующем после@PJL строки заголовка. Это может быть PDF или PostScript или PCL или что-нибудь еще.

интересно и то, что строка@PJL ENTER LANGUAGE = ... -- оно обычно надежно показывает формат потока данных печати.

в случае тайна.pdf это HBP, формат, с которым я до сих пор не сталкивался.

If действительно существует другой открытый или полуоткрытый формат (в нарушение к чему то ENTER LANGUAGE = ... строка говорит), как PostScript или PCL, сервер или GhostPDL сможете преобразовать его в PDF. Просто удалите все @PJL строки из заголовка. Затем запустите:

для PostScript-файлов:

 gs -o out.pdf -sDEVICE=pdfwrite input-file

для файлов PCL:

 pcl6 -o out.pdf -sDEVICE=pdfwrite input-file
2
отвечен Kurt Pfeifle 2014-10-08 18:57:56
источник

ответ Курта верен. Единственное дополнение, которое я хотел бы сделать, это то, что при работе с файлами PRN из Windows существует несколько типов файлов, которые печатаются под типом файла PRN, поэтому убедитесь, что это файл PCL. Даже после этого pcl использовал, возможно, MS PCLXL, и в этом случае pcl6 отключается. Скачайте ghostpcl и используйте команду:

gpcl6-920-linux_x86_64 -sDEVICE=pdfwrite -o выходной.входной файл pdf

2
отвечен Akshay 2017-01-20 08:59:08
источник

Другие вопросы ghostscript pdf postscript printer printing