Найти - Пользователи
Полная версия: печать документов
Начало » Python для новичков » печать документов
1
trympyrym
День добрый.

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

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

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

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

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

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

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

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

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

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

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

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

Все печатется даже без запуска OpenOffica. Пол часа назад проверено :)
Rodegast
Я тут уже писал как распечатать можно.
http://python.su/forum/topic/13460/?page=1#post-81611
trympyrym
Всем спасибо

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

на печать выводил ShellExecute-ом, HTML в PDF переводил Prince-ом
Rodegast
> В итоге сделал через HTML -> PDF -> печать
Зачем в PDF переводить? Сразу HTML печатай.
trympyrym
Rodegast
> В итоге сделал через HTML -> PDF -> печатьЗачем в PDF переводить? Сразу HTML печатай.
Странно, сразу в голову это не пришло. Попробую
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB