2013-03-19 6 views
4

Я работаю над скриптом Python, который создает отчет PDF с помощью ReportLab. Мне нужно создавать страницы в альбомной ориентации, и я уже просмотрел руководство ReportLab, но я не могу найти способ сделать это. Любые идеи или предложения?Создание PDF-файлов в альбомной ориентации с ReportLab

ответ

13

Убедитесь, что вы импортировали

from reportlab.lib.pagesizes import letter, landscape 

А потом:

canvas.setPageSize(landscape(letter)) 

Или в более общем плане,

canvas.setPageSize(width, height) 

и вы можете установить его, чтобы быть любого размера вам нравится. Помните, что reportlab использует точки, где 1 балл составляет 1/72 дюйма. Вы также можете импортировать:

from reportlab.lib.units import inch 

, который позволяет делать такие вещи, как:

canvas.setPageSize(11*inch, 8.5*inch) 

EDIT: Добавлены все встроенные в размерах страницы, вдохновленных yentsun.

Погружение в reportlab.lib.pagesizes исходного кода, мы находим всего:

A0,A1,A2,A3,A4,A5,A6 
B0,B1,B2,B3,B4,B5,B6 
LETTER, LEGAL, ELEVENSEVENTEEN 

комментарии утверждают, что строчная letter устарели начиная с 2001 года, но по-прежнему доступен. Кроме того, доступны две функции: portrait и landscape, каждая из которых берет на себя тупик, а портрет сначала возвращает кортеж с меньшим размером, а пейзаж сначала возвращает кортеж с большим размером.

+1

И если мы говорим об ландшафте A4, замените 'letter' на' A4' – yentsun

Смежные вопросы