LINUX.ORG.RU

Python и печать на принтер

 , ,


0

1

Хочется печатать на бумаге таблички (шапка, столбцы, строки и так далее). Собственно как лучше это сделать? В голову пришло уродство генерировать latex и собирать скриптами, но наверняка можно более красиво и без зависимости от установки latex-а и его пакетов. Печатать html? Смысл в том, чтобы напечатанное было очень компактным и читабельным. Надо именно печатать, раз в неделю вооружать человека бумажкой, на которой он может делать пометки при помощи карандаша или ручки мне сильно проще, чем писать приложение для планшета и мучить бедолагу экранной клавиатурой.

★★★★★

В голову пришло уродство генерировать latex и собирать скриптами, но наверняка можно более красиво и без зависимости от установки latex-а и его пакетов.

Это НЕ уродство! Так и надо делать.

anonymous
()
Ответ на: комментарий от anonymous

Просто я сам запарюсь тягать это из года в год в разные дистры и ОС. Хорошо если бы у latex-а или xelatex-а (который я больше люблю) было бы что-то вроде pip-а или conda из python-а, а не пакетный менеджер дистрибутива, где в одном дистре что-то работает, а в другом идите и ручками качайте и собирайте. Мне хватило в своё время любви с tex пакетами, когда я хотел чтобы в pdf искало на русском языке.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Не уверен, что для Latex’a чего-то нет. Ты плохо смотрел, или вообще не смотрел. Посмотри.

По остальному, latex+python, это единственный правильный вариант решения твоей задачи.

anonymous
()
Ответ на: комментарий от anonymous

Я не смотрел, так глянул сверху. Просто подумал что может есть что-то более монолитное, что не заставляет тянуть кучу сторонних бинарей.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от anonymous

reportlab

Плюсую. О чём здесь вообще толкуют? ТС говорит: «Надо проще и роднее», остальные говорят: «Не надо, даёшь сложности».

anonymous
()

Насколько я помню, у Open/LibreOffice есть API, в том числе для питона.

O02eg ★★★★★
()
Ответ на: комментарий от anonymous

С ним больше мороки, не просто так странички с парой абзацев весят как война и мир в txt формате.

peregrine ★★★★★
() автор топика

генерировать latex и собирать скриптами

LaTeX – это единственный рабочий способ.

Печатать html?

Попробуй. Например https://wkhtmltopdf.org/, а потом, отмучавшись, вернёшся к LaTeX.

beastie ★★★★★
()
Ответ на: комментарий от anonymous

В том, что добавив где-то только один пробел у тебя съезжает непредсказуемо всё форматирование.

Абы как можно и html, но если необходима консистентность и качество, то только LaTeX.

beastie ★★★★★
()

Latex, пожалуй, самое идеологически правильное решение, если хочется что-то сгенерировать на печать.

Html - нормальное решение, мы так делали. Берешь chrome-headless, скармливаешь ему html и делаешь печать в pdf, а pdf уже печатаешь на принтер.

Как альтернативы, есть, например, JasperReports - рекомендовать не буду, ибо во-первых, сам с ним настрадался, во-вторых, это Java. Я бы глянул еще в сторону всяких шаблонизаторов типа python-docx-template.

hippi90 ★★★★★
()
Ответ на: комментарий от peregrine

так бы и сказал сразу, что не умеешь в html. а на самом деле ты получаешь простые и очень адекватные таблицы без каких-либо зависимостей. а если взять markdown, то и создание/редактирование становится тривиальной задачей.

С ним больше мороки

больше мороки по сравнению с чем?

anonymous
()
Ответ на: комментарий от beastie

у тебя съезжает непредсказуемо

непредсказуемо может съезжать только у тебя и исключительно в следствие твоей некомпетентности.

anonymous
()

Я делаю xls, затем работаю с ними: отсылаю, печатаю.

К примеру, xlsxwriter

int13h ★★★★★
()
Ответ на: комментарий от peregrine

Просто я сам запарюсь тягать это из года в год в разные дистры и ОС.

Можно в контейнер завернуть.

kukuruku ★★
()
Ответ на: комментарий от anonymous

непредсказуемо может съезжать только у тебя и исключительно в следствие твоей некомпетентности.

Пфф….

anonymous
()
  1. генерируешь HTML
  2. пишешь к нему CSS, чтобы было компактно
  3. wkhtmltopdf
  4. полученный PDF идет на принтер
shimon ★★★★★
()

А таблицы генерируются на лету или значения ячеек читаются из какого-нибудь csv файла? Так то для LaTeX есть пакеты, которые позволяют генерировать таблицу прямо из csv.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

для LaTeX есть пакеты

Так! Прибавляем к python latex, после этого «пакеты, которые позволяют генерировать таблицу прямо из csv» и получаем чудо-юдо. Что мешает генерить таблицы в reportlab прямо в python из того же csv? Зачем все эти «чудеса на виражах»?

anonymous
()

Если что-то простое, то модуля fpdf должно хватить.

Novator ★★★★★
()

В reportlab есть platypus. С большими таблицами ( на тысячи строк) работает хорошо. И будет намного быстрее/компактней чем LaTeX.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.