Почему ReportLab не рисует мои линии там, где я хочу?Python

Программы на Python
Ответить
Anonymous
 Почему ReportLab не рисует мои линии там, где я хочу?

Сообщение Anonymous »

извините за заголовок. Я не совсем понимаю, в чем проблема, поэтому не могу выразить ее точнее.

Я пытаюсь воспроизвести существующую форму (доступна только на бумага) с использованием Python в ReportLab.

Я измеряю существующую форму и использую значения для рисования с помощью ReportLab. Вот пример:

Код: Выделить всё

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.units import mm

def test():
c = canvas.Canvas('test.pdf', pagesize=landscape(A4))
h, w = A4

c.line(21*mm, 37*mm, 278*mm, 37*mm)

c.showPage()
c.save()
Когда я распечатываю этот файл (без масштабирования) и измеряю его, линия оказывается не там, где должна быть. Он смещен вправо примерно на 5 мм по горизонтали и вверх примерно на 3 мм по вертикали.

Почему? Есть ли какая-то граница вокруг холста/страницы, которая не описана в руководстве? Линия шире, чем ее визуальное представление?

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

Подробнее здесь: https://stackoverflow.com/questions/334 ... want-it-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»