В нашем программном обеспечении нам необходимо иметь возможность конвертировать файлы SPL, которые драйверы принтера записывают в папку C: \ Windows \ System32 \ spool \ PRINTERS, в файлы PDF. Для файлов SPL в формате PCL мы выполняем это преобразование с помощью pcltool.exe из VeryPDF, который в основном работает нормально. Однако у нас возникают проблемы с файлами SPL, созданными драйвером принтера «Canon iR-ADV C5235 / 5240 PCL6». Например, следующий файл SPL получается в результате печати одной страницы в блокноте со словом «что-то» на ней:
http://files.etvdzs.info/00025.spl
Преобразование 00025.spl с помощью pcltool.exe приводит к созданию 70-страничного PDF-файла с рядом символов мусора вверху каждой страницы. Попытка открыть 00025.spl с помощью других программ просмотра PCL дает аналогичные результаты. Мы спросили VeryPDF, и они сказали нам, что это недопустимый файл PCL.
Кто-нибудь может сказать мне, что именно недействительно в этом файле? Есть ли возможность преобразовать его в действительный PCL или иным образом извлечь из него полезные данные?
Между прочим, у нас была аналогичная проблема с файлами Postscript, созданными драйвером принтера «Canon iR-ADV C5235 / 5240 PS3». Были двоичные последовательности, начинающиеся с $ CDCA10 и заканчивающиеся $ FFFF000000000000000001 в различных местах в файлах. После удаления этих последовательностей мы смогли преобразовать файлы как обычно. Я попробовал аналогичное решение для файлов, созданных «Canon iR-ADV C5235 / 5240 PCL6», но, к сожалению, безуспешно.
РЕДАКТИРОВАТЬ (13 сентября 2013 г.): кажется, что двоичные последовательности являются кодами CPCA. Мне удалось получить документацию о CPCA, подписавшись на программу поддержки разработчиков Canon по следующему URL-адресу:
https://www.developersupport.canon.com/user/register
Прочитав эту документацию, я написал программу для удаления кодов CPCA из файлов спула. Это результат выполнения программы с файлом 00025.spl сверху:
http://files.etvdzs.info/00025.cleaned.spl
К сожалению, это все еще не похоже на действительный файл PCL :-( Кто-нибудь может сказать мне, что именно не так с этим файлом? Есть ли возможность преобразовать его в действительный PCL или иным образом извлечь из него пригодные для использования данные?
P.S. Программа, которую я написал, успешно конвертирует файлы спула, созданные драйверами принтера «Canon iR-ADV C5235 / 5240 PCL5c» и «Canon iR-ADV C5235 / 5240 PS3», в действительные PCL и Postscript соответственно, поэтому я не думаю, просто программа не работает.