Печать html из консоли

Автор zCirill, 21 января 2014, 12:24:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

zCirill

Есть debian 6, принтер hp1536, подключенный по ipp, hplip ps, пытаюсь печатать файл из консоли на выходе получаю кракозябры в windows-1252
cups 1.4.4

Исходный файл в utf8, на выходе 1252.
На входе windows-1251 на выходе все равно windows-1252

печатаю так
html2ps ttt | lp -d HP_LaserJet_M1536dnf_MFP

01:~$ cat ttttt
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства

01:~$ iconv -c -t UTF8 -f cp1252 ttttt
Ð¨Ð¸Ñ€Ð¾ÐºÐ°Ñ ÑлекÑ,риÑ,,Ð¸ÐºÐ°Ñ†Ð¸Ñ ÑŽÐ¶Ð½Ñ‹Ñ... губерний даÑÑ, мощный Ñ,олчок подъÑ'му ÑельÑкого Ñ...озÑйÑÑ,ва

Печатает як выше приведенная конвертация.
Таже ситуация и в archlinux cups 1.7

если печатать файл как есть lp -d HP_LaserJet_M1536dnf_MFP ttt - все ок.
но нужно html

если печатать lp -o document-format=text/html -d HP_LaserJet_M1536dnf_MFP 23222_200114_1430_utf8.html

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

Никто не встречался?

YVSIK

что тут встречать то
надо разобраться в кодировках раз и навсегда
кодировка ЭТО
закодированые символы в АНСИ кодах

браузер тебе любую прочитает, хоть в тех(для примера сказал)
бери вот этот продукт
http://www.sisulizer.com/kaboom/
он тебе все прекодирует
интерфейс интутивно понятный

У тебя на лицо передается одно , в одной кодировке, а принимается по другому

вот оно и мечется не зная что Главнее
ещёё пред печатью просмотри что оно в конечном варианте будет видно

и ещё ЮТФ-8 кодировка которая поставляется с ВОМ кодом это единый непонятный никому функционал
, так вот все странички перводи в кодировкуютф  - 8 БЕЗ БУМ
и она станет навсегда всеядной доступной и на все случаи жизни поможет
если не понял об чем я тут))
читай изучай про кодировки от создателя


zCirill

спасибо за ликебез )

нагугли что html2ps не понимает кириллицу.
нашел на опеннете патченую версию, но не завелась.

GUI инструменты не подходят, ибо X на сервере нет и ставить нехочется.

потестил wkhtmltopdf + xvfb, нормально печатает, костыль конечно, но работает.


yura_n

#3
Цитата: YVSIK от 21 января 2014, 22:03:38закодированые символы в АНСИ кодах
Эк вы намудрили. ANSI - это не коды, а система американских стандартов. А кодировки бывают ASCII и Unicode. ASCII  кодировка состоит из 256 символов, при этом каждому символу присвоено свое цифровое значение, от 0 до 255. При этом первая часть символов, от 0 до 127 неизменяемая, там всегда английский алфавит и ряд других символов. Вторую часть изменять можно. Вот как раз различными "вторыми" частями ASCII кодировки, например CP1251, CP1252 и.т.д. и отличаются.
Так как в одну ASCII кодировку все различные национальные наборы символов впихнуть ни за что нельзя, то были придуманы юникодные кодировки, в каждой из которых содержится, если не все, то по крайней мере большинство национальных наборов символов.
А BOM непосредственно к кодировке вообще не относится, это несколько байтов, которые могут указываться в начале текстового файла, а могут и не указываться.
По теме. Проблема в том, утилита html2ps по определение преобразует текстовый html файл в файл ps, при этом перекодируя его. А перекодируется этот файл, по умолчанию в CP1252, в которой кириллических символов просто нет.