diff options
Diffstat (limited to 'examples/unspread.py')
-rwxr-xr-x | examples/unspread.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/unspread.py b/examples/unspread.py new file mode 100755 index 0000000..4b3bc5d --- /dev/null +++ b/examples/unspread.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +''' +usage: unspread.py my.pdf + +Creates unspread.my.pdf + +Chops each page in half, e.g. if a source were +created in booklet form, you could extract individual +pages. +''' + +import sys +import os + +from pdfrw import PdfReader, PdfWriter, PageMerge + + +def splitpage(src): + ''' Split a page into two (left and right) + ''' + # Yield a result for each half of the page + for x_pos in (0, 0.5): + yield PageMerge().add(src, viewrect=(x_pos, 0, 0.5, 1)).render() + + +inpfn, = sys.argv[1:] +outfn = 'unspread.' + os.path.basename(inpfn) +writer = PdfWriter() +for page in PdfReader(inpfn).pages: + writer.addpages(splitpage(page)) +writer.write(outfn) |