Конвертировать pcl в изображение - PullRequest
1 голос
/ 29 января 2009

Я общаюсь с логическим анализатором (HP 1660A) по RS232. Я выдаю команду, которая говорит анализатору распечатать экран и отправить его на контроллер (мой компьютер) через последовательную связь. Я сохраняю результат (который обычно составляет около 25 КБ) на моем компьютере, и я хотел бы просмотреть его в формате TIFF или в другом формате. Проблема заключается в том, что ответ от анализатора приходит в формате PCL, поэтому его можно отправить на принтер и распечатать напрямую, но не открывать как изображение. Я попробовал несколько конвертеров PCL в изображения, чтобы выполнить эту работу, я нашел тот, который делает это правильно, однако я использовал пробную версию и не хотел бы ее покупать. Я дал вам основу моего труда. Я был бы признателен за любую помощь, ссылку на команды в pcl 1 и на то, что я должен сделать, чтобы извлечь данные и правильно отформатировать их из файла PCL. У меня нет опыта работы с PCL и обработкой изображений, поэтому, пожалуйста, помогите мне здесь. Спасибо.

P.S. Я получил файл PCL из анализатора, как в C #, так и в matlab ... У меня есть одна небольшая проблема в C # с управлением последовательным портом, некоторые изображения имеют некоторые неинтерпретированные символы в изображении при использовании вышеуказанных преобразователей. Я говорю все это, потому что мне нужен алгоритм или некоторые указания, независимо от языка программирования, поэтому, пожалуйста, не стесняйтесь писать.

Ответы [ 4 ]

3 голосов
/ 03 февраля 2009

PCL сложно читать. Есть только несколько инструментов, которые хорошо справляются с этой задачей. У нас большой опыт работы с PCL, и мы все еще часто обращаемся к другим, чтобы обеспечить преобразование в PDF и другие форматы. Если PCL довольно прост, то есть просто текст, несколько шрифтов и один или два рисунка, пара команд RegEx может иметь дело с извлечением текста, а затем вы можете макетировать новый документ, используя любые инструменты, которые вы пожелаете. .

Просмотр этих файлов в stackoverflow может быть сложным. Если вы можете получить их на FTP и опубликовать ссылку, я могу быстро просмотреть и опубликовать мои выводы / мысли здесь. Другой вариант - обратиться к внешнему инструменту. Есть несколько, с которыми мы имели успех. Наши потребности широки, поэтому я остановился на одном, который лучше всего работает со многими различными потоками PCL (некоторые кодировки PCL лучше других). Поскольку вы имеете дело с известным количеством PCL, у вас может быть несколько вариантов. Вот некоторые из них, которые мы использовали и имели некоторый успех (в порядке полезности для нас)

PCLWorks от PageTech (у них есть просмотрщик графического интерфейса и полный SDK)

Конвертер VeryPDF PCL (инструмент командной строки)

SwiftView

Есть и другие, и даже вариант Ghostscript с открытым исходным кодом, который обрабатывает PCL (у нас никогда не было особой удачи, поскольку используемый нами PCL часто содержит очень нестандартные шрифты, наборы символов и тонны макросов, которые, кажется, душат его. 1017 *

GhostPCL

РЕДАКТИРОВАТЬ: Совсем недавно мы работали с LincPDF (http://www.lincolnco.com/).) Это также превосходный продукт, имеющий одно большое преимущество, простое развертывание. Некоторые другие инструменты имеют сложный Установка программного обеспечения. Это решение очень легко для нас развернуть как функцию в приложении. Оно также быстрее, чем любые инструменты, которые мы тестировали до настоящего времени (по крайней мере, с помощью PCL, который мы генерируем из наших приложений, что довольно сложно, поскольку они включают в себя специализированные шрифты и макросы).

0 голосов
/ 31 декабря 2010

Мы фиксируем последовательный вход через последовательный диспетчер очереди, который наблюдает за COM1 :. Это называется SSpool.exe. Он перенаправляет PCL как ввод в PCLXForm. PCLXForm преобразует его в любой растровый формат (TIFF, JPG, PDF, BMP и т. Д.). Однако мы также можем извлечь текст во время преобразования и извлечь отдельные растровые объекты из PCL для перегруппировки в последующем приложении. Наша модель ценообразования предназначена для лицензиатов, которым необходимо конвертировать до 50 000 страниц счетов-фактур в проиндексированные PDF-файлы в месяц. Однако для этого типа приложений обычно требуется специальная лицензия, чтобы снизить наши цены до требуемого уровня. Чтобы сделать это, нам часто приходится ограничивать наш продукт в преобразовании неограниченного количества файлов, но только до 20-й страницы в одном файле печати PCL. Это обеспечивает достаточный объем страницы и дает нам возможность снизить цену за единицу. Для демонстрации вам понадобится PCLTool SDK.

0 голосов
/ 15 июля 2009

Проект был приостановлен на некоторое время, но я хотел бы предложить полное и полезное решение.

@ Адриан Вы можете сохранить образ на дискету, я сделал это, сохранил как TIFF, и все работало нормально. К сожалению, он отправляет только PCL через RS232. Идея сохранить экран печати поверх последовательной связи состояла в том, чтобы не использовать слишком много дискет, которые устройство использует для загрузки.

@ Дуглас Спасибо за ваш сложный ответ. Я посмотрю на указанные инструменты, однако, я хочу предложить законченное интерфейсное решение, которое напрямую выводит графику. Я поместил некоторые файлы из моих тестов здесь , чтобы увидеть сложность конструкций PCL. У вас есть какие-либо знания о возможном API, который я мог бы интегрировать в свое приложение, которое может анализировать файл и интерпретировать PCL?

С уважением, Космин

0 голосов
/ 12 мая 2009

Согласно спецификации для серии HP 1660 ( pdf ) можно отправлять TIFF, PCX и postscript.

Не проще ли использовать TIFF?

...