Как прочитать содержимое спула?

0

У меня принтер называется Canon LBP3310. Это общий принтер, язык печати - CAPT 3.0, порт - USB. У меня есть программа, она отправляет необработанные данные на этот принтер, я не могу редактировать эту программу. Тип файла буфера - RAW. Итак, как прочитать содержимое буферизованного файла в текстовый файл? Можешь мне помочь? Благодарю.

LienVu
источник
почему ты хочешь это сделать? Что именно вы хотите изменить?
Мате Юхас
1
Что вы подразумеваете под «чтением файла»? Этот необработанный файл - это всего лишь все управляющие инструкции, которые необходимы принтеру для вывода содержимого. Вы можете просто открыть файл и просмотреть его в любом текстовом редакторе, но это не будет иметь смысла, если вы не понимаете язык управления принтером.
fixer1234
Я хочу сделать то же самое, что и GhostScript, но если язык печати CAPT, я не знаю, что мне использовать.
LienVu
Если у вас есть задание на печать PCL 5 («сырое»), попробуйте Kyktir (www.kyktir.info), инструмент еще находится в разработке, но уже открывает некоторые базовые задания и файлы.
ЮФО
Если вы просто хотите извлечь текст, попробуйте открыть файл с помощью Блокнота. Тем не менее, файл почти наверняка является растровым изображением, которое не содержит текста. Для текста используйте либо принтер PCL5, либо драйвер Generic / Text Only. Последний выводит только простой текст.
hdhondt

Ответы:

0

«RAW» в данном случае означает «на языке управления принтером». Этот формат RAW зависит от принтера, а не универсален.

Вам потребуется конвертер для каждого из языков управления принтером (например, PCL-5, PCL-XL, PostScript, HP-GL). Пример: для формата PostScript вы можете использовать GhostScript.

В любом случае, после того, как вы найдете правильный язык управления и преобразуете RAW в EMF, вы можете использовать что-то вроде SplViewer или EMFSpoolViewer для просмотра содержимого.

Либо вы сделаете это, или попробовать что - то вроде этого , что может открыть много общих PCL форматов.

Сверхразум
источник
Мой принтер Canon LBP 3310. Он не использует PCL или PostScript. Язык управления принтером этого принтера - CAPT 3.0 (драйвер этого принтера). Буферный файл имеет формат RAW. Я хочу использовать виртуальный принтер, чтобы напечатать файл буфера, чтобы стать текстовым файлом. Что я должен делать?
LienVu
Если формат CAPSL (язык системы canon print), то что мне использовать?
LienVu
CPCA должен быть совместим с этим. Проверьте мою ссылку.
Сверхразум
Это невозможно. Ошибка: «Буферный файл неизвестного формата». Мой файл спулинга, созданный при отправке задания на печать в порт программы с использованием языка ассемблера. Я хочу использовать API ReadPrinter (), но я не знаю, когда мне следует его использовать. Вы знаете API?
LienVu
Если это PCL5, вы также можете использовать Kyktir (www.kyktir.info)
июль
0

У меня похожий вопрос. Вы можете увидеть это ниже (хотя мой подход отличается от вашего). Печать порта TCP / IP в файл TXT напрямую из Windows 10 (без дополнительного программного обеспечения)

В любом случае это то, что я обнаружил до сих пор: в sourceforge есть LPDSPOOLER, который вы можете попробовать использовать (я сам еще не пробовал, но, похоже, он выполняет ту работу, которую вы ищете). Это для LPD, который я понимаю, будет работать только с портом 9100

https://sourceforge.net/projects/lpdspooler/

И для RAW (который я понимаю, будет работать только с портом 515).

https://sourceforge.net/projects/rawprintserver/

Веб-сайт LPDSPOOLER показывает, что он использовался для записи заданий на печать на диск или в базу данных.

С другой стороны, RAWPRINTSERVER должен позволить вам установить ваш принтер в локальный порт и отправлять ему запросы на печать, как если бы он был сетевым общим принтером. В случае с RAWPRINTSERVER я подумал, может ли это также работать с портом: FILE (Print to File).

Я не понял из вашего вопроса, хотите ли вы просто прочитать * .spl (буферный файл) или отредактировать его перед отправкой на принтер. В любом случае я думаю, что это может помочь. Делитесь, если вам удастся решить это.

ура

LUISE
источник