1
0

Amazon-Retouren-GIF als neue Option hinzugefügt

This commit is contained in:
acn 2019-08-16 11:58:05 +02:00
parent bad898f345
commit 6003692deb

34
post.py
View File

@ -1,4 +1,12 @@
#!/usr/bin/python3 #!/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ß <christina@imzadi.de>
# Lizensiert unter GPL 3, siehe Datei: LICENSE
##################
import wand.image import wand.image
import numpy import numpy
@ -67,9 +75,6 @@ def makeDHLPaketmarke(eingabe, ausgabe):
def makeBriefmarke(eingabe, ausgabe): def makeBriefmarke(eingabe, ausgabe):
# Erstellt eine Briefmarke aus einer ePost-PDF-Datei # 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: with wand.image.Image(filename=eingabe, resolution=300) as inPdf:
porto = inPdf[146:580, 32:266] porto = inPdf[146:580, 32:266]
porto.rotate(270) porto.rotate(270)
@ -80,11 +85,28 @@ def makeBriefmarke(eingabe, ausgabe):
width = getW(porto,58)*mm, height=58*mm) width = getW(porto,58)*mm, height=58*mm)
outPdf.save() 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(): ### main():
parser = ArgumentParser() 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("-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() args = parser.parse_args()
if args.output: if args.output:
@ -98,5 +120,7 @@ if args.type=="DHL":
makeDHLPaketmarke(infile, outfile) makeDHLPaketmarke(infile, outfile)
elif args.type=="ePost": elif args.type=="ePost":
makeBriefmarke(infile, outfile) makeBriefmarke(infile, outfile)
elif args.type=="AmazonGIF":
makeAmazonRetourGIF(infile, outfile)