diff --git a/post.py b/post.py index ba17970..6c4f572 100755 --- a/post.py +++ b/post.py @@ -1,4 +1,12 @@ #!/usr/bin/python3 +################## +# EtikettenPost: erstellt aus verschiedenen Quelldateien PDFs, +# die mit Hilfe eines Brother Etikettendruckers auf 62mm Rollenpapier +# ausgedruckt werden können, um damit Briefe und Pakete zu frankieren. +# +# (c) 2019 Anna Christina Naß +# Lizensiert unter GPL 3, siehe Datei: LICENSE +################## import wand.image import numpy @@ -50,7 +58,7 @@ def makeDHLPaketmarke(eingabe, ausgabe): Sendungsnr.rotate(270) Barcodes = inPdf[2306:2995, 1533:2358] - outPdf = canvas.Canvas(ausgabe, pagesize=(160 * mm, 62 * mm)) + outPdf = canvas.Canvas(ausgabe, pagesize=(160*mm, 62*mm)) outPdf.drawInlineImage(getPIL(ObereZeile), 2*mm, 57*mm, width = getW(ObereZeile,5)*mm, height=5*mm) @@ -67,9 +75,6 @@ def makeDHLPaketmarke(eingabe, ausgabe): def makeBriefmarke(eingabe, ausgabe): # Erstellt eine Briefmarke aus einer ePost-PDF-Datei - print("ePost-Briefmarke") - print("Eingabedatei: " + eingabe) - print("Ausgabedatei: " + ausgabe) with wand.image.Image(filename=eingabe, resolution=300) as inPdf: porto = inPdf[146:580, 32:266] porto.rotate(270) @@ -80,11 +85,28 @@ def makeBriefmarke(eingabe, ausgabe): width = getW(porto,58)*mm, height=58*mm) outPdf.save() +def makeAmazonRetourGIF(eingabe, ausgabe): + # Erstellt ein Paketetikett aus einer Amazon-Retouren-GIF-Datei + with wand.image.Image(filename=eingabe) as inGif: + inGif.rotate(90) + absender = getPIL(inGif[144:555, 70:258]) + empfaenger = getPIL(inGif[72:555, 730:1032]) + code1 = getPIL(inGif[325:810, 362:686]) + code2 = getPIL(inGif[195:1005, 1100:1725]) + + outPdf = canvas.Canvas(ausgabe, pagesize=(130*mm, 62*mm)) + + outPdf.drawInlineImage(absender, 2*mm, 45*mm, width = getW(absender,15)*mm, height=15*mm) + outPdf.drawInlineImage(empfaenger, 2*mm, 0*mm, width = getW(empfaenger,39)*mm, height=39*mm) + outPdf.drawInlineImage(code1, 88.5*mm, 39*mm, width = getW(code1,22)*mm, height=22*mm) + outPdf.drawInlineImage(code2, 80*mm, 0*mm, width = getW(code2,37)*mm, height=37*mm) + outPdf.save() + ### main(): parser = ArgumentParser() -parser.add_argument("inputfile", help="Eingabedatei (DHL-PDF)") +parser.add_argument("inputfile", help="Eingabedatei") parser.add_argument("-o", dest="output", metavar='OUTPUT', help="Ausgabedatei (PDF)") -parser.add_argument("-t", dest="type", choices=["DHL", "ePost"], default="DHL", help="Art der Eingabedatei (Standard: DHL)") +parser.add_argument("-t", dest="type", choices=["DHL", "ePost", "AmazonGIF"], default="DHL", help="Art der Eingabedatei (Standard: DHL)") args = parser.parse_args() if args.output: @@ -98,5 +120,7 @@ if args.type=="DHL": makeDHLPaketmarke(infile, outfile) elif args.type=="ePost": makeBriefmarke(infile, outfile) +elif args.type=="AmazonGIF": + makeAmazonRetourGIF(infile, outfile)