Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 9, 2013 14:22:20

trympyrym
Зарегистрирован: 2013-08-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

печать документов

День добрый.

Задача такая: сгенерировать одну страницу в python и отправить ее на печать.

Генератор (страницы) должен поддерживать тексты с настраиваемым шрифтом и расположением на странице, также картинки (считанные из файла) с настраиваемым расположением и таблицы с текстовым содержимым.

Интересует меня наиболее легкий в освоении способ это сделать. Крайне желательно при этом использовать как можно меньше дополнительных библиотек (все они должны быть бесплатны). Формат файла составляемого отчета совершенно неважен. Окошко предпросмотра/настроек принтера тоже совсем не обязательно.

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

Использую Python3 под win32.

Офлайн

#2 Окт. 9, 2013 15:39:56

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

печать документов

trympyrym
Реализация должна быть полностью в коде программы (т.е. сделать файл, открыть его другой программой и из нее распечатать - не вариант).

Убивает напрочь…

А Вы не хотите дать пользователю возможность отредактировать результат? Может ему не понравяться Ваши шрифты или он захочет выделить определенный кусок текста. Даже уменьшить или увеличить фото у него возможности нет. Тяжело спланировать и спроектировать все возможные варианты наполнения документа.

Как по мне, это не сильно верный подход. Хотя подход подбирается под задачу.
Более верный подход - для сборки документа типа “текстовый файл” использовать odf.py или любой другой api.

P.S. Опять же. В случае создания документа через api отдельным файлом можно использовать автоматическую печать принтером по-умолчанию без явного открытия этого документа. Для odf.py основным условием является установленный OpenOffice. Так зато у пользователя останется хоть теоретическая возможность что-то подправить, и если Вас будут просить реализовать такую функциональность - нужно будет поменять одну-две строки :)



Отредактировано 4kpt (Окт. 9, 2013 15:46:07)

Офлайн

#3 Окт. 9, 2013 16:00:48

trympyrym
Зарегистрирован: 2013-08-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

печать документов

4kpt
Убивает напрочь

Таково начальства требование, ибо считает оно, что
4kpt
все возможные варианты наполнения документа
уже спланированы и спроектированы. Ничто не противоречит тому, чтобы сгенерированный файл сохранить и (позже) редактировать чем угодно, но печать должна идти напрямую.

Пока что пытаюсь использовать TEX->PDF->печать.

Если есть более легкая схема, буду рад ее увидеть

Офлайн

#4 Окт. 9, 2013 16:23:19

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

печать документов

Писал выше:
odf.py -> subprocess
odf.py - собрать файл
subprocess - открыть его с параметром -p для автоматической печати

Все печатется даже без запуска OpenOffica. Пол часа назад проверено :)



Отредактировано 4kpt (Окт. 9, 2013 17:52:42)

Офлайн

#5 Окт. 9, 2013 17:51:02

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2831
Репутация: +  186  -
Профиль   Отправить e-mail  

печать документов

Я тут уже писал как распечатать можно.
http://python.su/forum/topic/13460/?page=1#post-81611



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Окт. 10, 2013 19:29:45

trympyrym
Зарегистрирован: 2013-08-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

печать документов

Всем спасибо

В итоге сделал через HTML -> PDF -> печать

на печать выводил ShellExecute-ом, HTML в PDF переводил Prince-ом

Офлайн

#7 Окт. 10, 2013 19:48:42

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2831
Репутация: +  186  -
Профиль   Отправить e-mail  

печать документов

> В итоге сделал через HTML -> PDF -> печать
Зачем в PDF переводить? Сразу HTML печатай.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#8 Окт. 12, 2013 21:59:00

trympyrym
Зарегистрирован: 2013-08-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

печать документов

Rodegast
> В итоге сделал через HTML -> PDF -> печатьЗачем в PDF переводить? Сразу HTML печатай.
Странно, сразу в голову это не пришло. Попробую

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version