Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pyPdf import PdfFileWriter, PdfFileReader
- import StringIO
- from reportlab.pdfgen import canvas
- from reportlab.lib.pagesizes import letter
- import json
- import sys
- json_file = sys.argv[1]
- data = json.load(open(json_file))
- packet = StringIO.StringIO()
- can = canvas.Canvas(packet)
- for value in data["objects"]:
- if value["type"] == "text":
- can.drawString(value["x"], value["y"], value["value"])
- print("write {0}".format(value["value"]))
- else:
- if value["type"] == "image":
- can.drawImage(value["value"], value["x"], value["y"], value["size_x"], value["size_y"])
- can.save()
- packet.seek(0)
- new_pdf = PdfFileReader(packet)
- existing_pdf = PdfFileReader(file(data["template"], "rb"))
- output = PdfFileWriter()
- page = existing_pdf.getPage(0)
- page.mergePage(new_pdf.getPage(0))
- output.addPage(page)
- outputStream = file(data["outfile"], "wb")
- output.write(outputStream)
- outputStream.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement