对不起,标题。我不太清楚问题出在哪里,所以我无法更准确地表达它。
我正在尝试使用ReportLab中的Python复制现有表单(仅纸上可用。)>
我测量现有表单,并使用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()
当我打印此文件(不缩放)并对其进行测量时,该行不在其应有的位置。它向右水平偏移约5mm,向顶部垂直偏移约3mm。
为什么?画布/页面周围是否有手册未记录的边框?这条线比它的视觉表示宽吗?
[我知道我可以通过在代码中简单地添加偏移量来适应此错误,但这是一个已经很繁琐的任务,我想确保我不会普遍缺少ReportLab或PDF生成所固有的一些问题。] >
对不起,标题。我不太清楚问题出在哪里,所以我无法更准确地表达它。我正在尝试使用ReportLab中的Python复制现有表单(仅在纸上可用)。 ...
如上所述,在页面A4或页面大小中绘制标尺,您可以在页面中看到这些坐标,然后可以根据绘制的坐标在页面中需要的地方绘制线
def drawMyRuler(c): c.drawString(100,810,'x100') c.drawString(200,810,'x200') c.drawString(300,810,'x300') c.drawString(400,810,'x400') c.drawString(500,810,'x500')