1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
from reportlab.lib.pagesizes import letter, A4
from reportlab.pdfgen import canvas
from reportlab.platypus import SimpleDocTemplate, PageTemplate, Paragraph, Spacer, Image
class Printer :
def header(canvas, doc, content) :
canvas.saveState()
width, height = A4
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(72,750,Ministère de ...')
#c.line(30,735,30,735)
canvas.line(92,740,150,740)
canvas.drawString(72,720,'SECRETARIAT GENERAL')
canvas.line(92,710,150,710)
canvas.drawString(72,690,'DIRECTION GENERALE DE ...')
canvas.drawString(72,675,'DIRECTION DE ...')
canvas.line(92,665,150,665)
canvas.drawString(72,645,'Service de ...')
canvas.drawString(428,750,'Nom du pays')
canvas.restoreState()
def body(canvas, doc, content) :
canvas.saveState()
canvas.drawString(72, 550, 'Les travaux de câblage informatique des bâtiments du siège ont démarré' )
canvas.drawString(72, 530, 'le 26 mars 2019 et se poursuivent sans difficultés majeures.')
canvas.drawString(72, 510,'Toutefois il convient de porter à votre connaissance que les travaux')
canvas.drawString(72, 490, 'ne prennent pas en compte certains bâtiments pour diverses raisons.')
canvas.restoreState()
def build_doc():
doc = SimpleDocTemplate("letter.pdf")
doc.build(onFirstPage=header, onLaterPages=body) |
Partager