windoctor
Фев. 24, 2008 13:48:44
Здравствуйте.
Подскажите пожалуйста как распечатать документ.
В качестве GUI выбран Tkinter.
Как вижу это я: я создаю обычный html документ с данными и мне его необходимо распечатать.
А ещё подскажите возможно ли распечатывать множество документов без подтверждения пользователя т.е пользователь кликнул “распечатать бланки” и у него началась печать этих бланков без его подтвержедения т.е он одни раз подтвердил что он хочет, а дальше всё само распечатывается.
Если ошибся разделом, прошу прощения.
Заранее благодарю за ответ.
balu
Фев. 25, 2008 08:25:12
А причем тут ткинтер? Снова таки - телепаты в отпуске - ч-з какой броузер ты отображаешь отчеты. На какой системе? Может менее напряжно будет через ТеХ работать?
windoctor
Фев. 25, 2008 15:11:16
А причем тут ткинтер?
Указал, чтобы было, вдруг пригодиться т.к я точно не знаю, что нужно и на чём завязано решение данной проблемы.
По сути мне отображать и не надо, мне надо распечатать, а если отображать, то через ишака(Internet Explorer) т.к он везде стоит на виндовых машинах.
Система венда XP, возможно и через Tex можно, не подскажите или ссылкой не поделитесь как это реализовать?
balu
Фев. 26, 2008 08:41:55
Вариантов несколько:
1) Отчеты это больная тема в питон, т.к. вменяемого варианта, типа FastReport я не знаю.
2) Если очень хочется ч-з HTML + IE, то надо ковырять его API, а тут больше MSDN поможет. Я линуксойд больше, потому тут не помощник.
3) Обычно я делаю отчеты ч-з pyExcelerator, но я не знаю, как он будет работать с python3, т.к. автором уже не поддерживается. Но полученные отчеты можно распечатать ч-з опции командной строки OpenOffice.
4) Варианта с pdf мне видиться 2: ReportLab и TeX. ReportLab имеет тот плюс, что работает напрямую с питоном. Минус - что это не язык предметной области, как ТеХ. ТеХ - это отдельная песня, ищи либо книги по нему илбо статьи Балдина. Я его использовал несколько раз для ГОСТ-ированных отчетов, генерируя ТеХ-код. Потом можешь его конвертировать в pdf, PostScript и т.д. PostScript можно отправлять сразу на (нормальный) принтер средствами ОС.
5) Некоторые генераторы отчетов умеют работать ч-з ActiveX. Например, FastReport. Если пишите только для винды, возможно это самое то…
umup
Фев. 26, 2008 15:27:15
Tkinter.Canvas вроде умеет печататься в postscript
sbar
Сен. 16, 2008 20:28:39
А есть ли какое-нибудь кроссплатформенное решение? Мне нужно печатать через принтер, работающий в Windows и в GNU/Linux через CUPS. Использую PyGTK для гуев если это как-то влияет.
j2a
Сен. 17, 2008 06:53:29
Я не знаю такого решения. В Linux печатаю через CUPS, генеря pdf-ку при помощи pisa и отправляя на печать pycups'ом.
Ссылки в тему:
* pisa -
http://www.htmltopdf.org/ * pycups -
http://cyberelk.net/tim/software/pycups/ * я про фильтр pdf2ps -
http://anarresti.ya.ru/replies.xml?item_no=201
igor.kaist
Сен. 17, 2008 12:25:48
В винде пробовал несколько способов:
1. reportlab+ foxitreader для предпросмотра и печати, наверняка есть команда для печати из командной строки
2. Tkinter.Canvas+win32print или PIL+win32print, генерится сначала postscript, затем он отправляется на печать. Этот способ медленный уж очень, да и не со всеми принтерами работает
3. PIL+win32print, PIL создает .bmp который отправляется на печать.
Вообще задачу можно свести к тому чтоб сгенерить документ какого либо формата, и с помощью сторонней либо встроенни в ос утилиты, которая сможет печатать из командной строки, вывести наконец нужное на бумагу.
Какие еще могут быть варианты?
Dimka665
Сен. 25, 2008 20:32:33
ReportLab позволяет создавать документы из каких-либо шаблонов?
pythonwin
Сен. 26, 2008 07:05:21
Dimka665
ReportLab позволяет создавать документы из каких-либо шаблонов?
да - есть формат RML и из него можно создавать pdf документы
+ можно использую kid, cheetah и т.д. генерить html странички и конвертировать их в pdf при мопощи pisa или unoconv