Skip to content

Instantly share code, notes, and snippets.

@yassu
Last active August 30, 2015 22:43
Show Gist options
  • Save yassu/ec01ce7c7740d036f962 to your computer and use it in GitHub Desktop.
Save yassu/ec01ce7c7740d036f962 to your computer and use it in GitHub Desktop.
Simple Sample for grid of reportlab
# -*- coding:utf-8 -*-
import os, sys
from reportlab.pdfgen import canvas
CANVAS = canvas.Canvas("sample.pdf", bottomup=False)
OFFSET = (50, 50)
XPAD, YPAD = (5, 5)
FONT_SIZE = 30
CANVAS.setFont("Helvetica", FONT_SIZE)
xlist = [OFFSET[0] + j*(2*XPAD + FONT_SIZE) for j in range(0, 3)]
ylist = [OFFSET[1] + j*(2*YPAD + FONT_SIZE) for j in range(0, 3)]
CANVAS.grid(xlist, ylist)
xlist2 = [OFFSET[0] + j*(2*XPAD + FONT_SIZE) for j in range(0, 2)]
ylist2 = [OFFSET[1] + j*(2*YPAD + FONT_SIZE) for j in range(0, 2)]
CANVAS.drawString(50 + 30 - 17, 50 + 30, "1")
CANVAS.drawString(50 + 30 - 17 + 2*XPAD + FONT_SIZE, 50 + 30, "2")
CANVAS.drawString(50 + 30 - 17, 50 + 30 + 2*YPAD + FONT_SIZE, "3")
CANVAS.drawString(50 + 30 - 17 + 2*XPAD + FONT_SIZE,
50 + 30 + 2*YPAD + FONT_SIZE, "4")
CANVAS.setLineWidth(3)
CANVAS.grid(xlist2, ylist2)
CANVAS.showPage()
CANVAS.save()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment