Skip to content

Instantly share code, notes, and snippets.

@zopyx
Last active August 29, 2015 14:03
Show Gist options
  • Save zopyx/8674c148cc3e95569424 to your computer and use it in GitHub Desktop.
Save zopyx/8674c148cc3e95569424 to your computer and use it in GitHub Desktop.
rom pyPdf import PdfFileWriter
from pyPdf import PdfFileReader
from reportlab.pdfgen import canvas
from cStringIO import StringIO
def stamp_pdf(in_pdfname, image_name):
pdf_in = PdfFileReader(file(in_pdfname, "rb"))
page0 = pdf_in.getPage(0)
img_temp = StringIO()
img_doc = canvas.Canvas(img_temp)
img_doc.drawImage(image_name, 420, 660, 200, 200, preserveAspectRatio=True)
img_doc.save()
overlay = PdfFileReader(StringIO(img_temp.getvalue())).getPage(0)
page0.mergePage(overlay)
out_pdfname = in_pdfname + '-stamped.pdf'
pdf_out = PdfFileWriter()
pdf_out.addPage(page0)
for count, page in enumerate(pdf_in.pages):
if count > 0:
pdf_out.addPage(page)
pdf_out.write(file(out_pdfname, 'wb'))
return out_pdfname
if __name__ == '__main__':
import sys
print stamp(sys.argv[1], sys.argv[2])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment