Рубрики
Без рубрики

ReportLab: смешивание фиксированного контента и стопов

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Недавно мне нужна способность использовать Flowables ReportLab, но поместите их в фиксированные места. Некоторые из вас, вероятно, задаются вопросом, почему я хотел бы это сделать. Приятная вещь о стопках, таких как абзац, состоит в том, что они легко стилизованы. Если бы я мог смело что-то сделать или отцентрировать что-то и положить его в фиксированное место, то это будет рок! Это потребовало много густого и пробных и ошибок, но я наконец получил приличный шаблон, собрал вместе, что мог бы использовать для рассылки. В этой статье я собираюсь показать вам, как это сделать.

Начиная

Вам нужно будет убедиться, что у вас есть ReportLab или вы получите все больше ничего. Вы можете пойти здесь схватить его. Пока вы ждете, что скачайте, вы можете продолжить читать эту статью или сделать что-то еще продуктивное. Вы готовы сейчас? Тогда давайте увидим это шоу на дороге!

Теперь нам просто нужно придумать пример. К счастью, я работал над чем-то на своей работе, что я смог скукнуть в следующую глупую и неполную форму. Изучите код внимательно, потому что вы никогда не знаете, когда будет тест.

Теперь вы видели код, поэтому мы потратим немного времени, когда он работает. Сначала мы создаем Холст Объект, который мы можем использовать без нашего класса Jettmaker. Мы также создаем Стили Око рассматривать и настроить несколько других переменных классов. В Созданныйocument Метод, мы создаем абзац (адрес), используя некоторые HTML-подобные теги для управления шрифтом и выбросом линии. Затем мы создаем логотип и размер, прежде чем поместить как элементы в REPORTLAB Таблица объект. Вы заметите, что уехали в паре прокомментировали строки, которые показывают, как разместить логотип без таблицы. Мы используем координат Способ помочь позиционировать текучести. Я нашел его на стойке и подумал, что это довольно удобно.

Тело письма использует небольшую строковую замену и ставит результат в другой абзац. Мы также используем сохраненное смещение, чтобы помочь нам позиционировать вещи. Я считаю, что хранение пары смещений для определенных порций кода очень полезно. Если вы используете их тщательно, то можете просто изменить пару смещений, чтобы переместить содержимое на документе, а не для необходимости редактирования положения каждого элемента. Если вам нужно нарисовать линии или формы, вы можете сделать их обычным способом с вашим объектом Canvas.

Упаковка

Я надеюсь, что этот код поможет вам в ваших начинаниях создания PDF. Я должен признать, что я размещаю его здесь столько же для моей собственной будущей выгоды, как для вас. Мне немного грустно, мне пришлось так сильно отложить от него, но моя организация не очень хочешь, если бы я разместил оригинал. Несмотря на это, у вас сейчас есть инструменты для создания довольно причудливых документов PDF с Python. Теперь вам просто нужно выйти там и сделать это!

Дальше чтение

  • Простой пошаговый ReportLab Учебное пособие
  • Столы REPORTLAB – Создание таблиц в PDFS с Python
  • Введение в RST2PDF – Изменение реструктурированного текста в PDFS с Python
  • Манипулирование PDFS с Python и pypdf.