summaryrefslogtreecommitdiff
path: root/examples/unspread.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/unspread.py')
-rwxr-xr-xexamples/unspread.py32
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)