Amazon-Retouren-GIF als neue Option hinzugefügt
This commit is contained in:
parent
bad898f345
commit
6003692deb
36
post.py
36
post.py
@ -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
|
||||||
@ -50,7 +58,7 @@ def makeDHLPaketmarke(eingabe, ausgabe):
|
|||||||
Sendungsnr.rotate(270)
|
Sendungsnr.rotate(270)
|
||||||
Barcodes = inPdf[2306:2995, 1533:2358]
|
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,
|
outPdf.drawInlineImage(getPIL(ObereZeile), 2*mm, 57*mm,
|
||||||
width = getW(ObereZeile,5)*mm, height=5*mm)
|
width = getW(ObereZeile,5)*mm, height=5*mm)
|
||||||
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user