debian-pdfrw/examples/watermark.py

38 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
'''
Simple example of watermarking using form xobjects (pdfrw).
usage: watermark.py [-u] my.pdf single_page.pdf
Creates watermark.my.pdf, with every page overlaid with
first page from single_page.pdf. If -u is selected, watermark
will be placed underneath page (painted first).
NOTE 1: This program assumes that all pages (including the watermark
page) are the same size. For other possibilities, see
the fancy_watermark.py example.
NOTE 2: At one point, this example was extremely complicated, with
multiple options. That only led to errors in implementation,
so it has been re-simplified in order to show basic principles
of the library operation and to match the other examples better.
'''
import sys
import os
from pdfrw import PdfReader, PdfWriter, PageMerge
argv = sys.argv[1:]
underneath = '-u' in argv
if underneath:
del argv[argv.index('-u')]
inpfn, wmarkfn = argv
outfn = 'watermark.' + os.path.basename(inpfn)
wmark = PageMerge().add(PdfReader(wmarkfn).pages[0])[0]
trailer = PdfReader(inpfn)
for page in trailer.pages:
PageMerge(page).add(wmark, prepend=underneath).render()
PdfWriter(outfn, trailer=trailer).write()