summaryrefslogtreecommitdiff
path: root/examples/unspread.py
diff options
context:
space:
mode:
authorJohannes Schauer <josch@debian.org>2015-10-10 00:55:44 +0200
committerJohannes Schauer <josch@debian.org>2015-10-10 00:55:44 +0200
commita4f43aea0f0af03190e95a431a96722325d8ee9e (patch)
treea780de0e239b4645c0aee1c9d85be7f01f885e73 /examples/unspread.py
parenta1959ba9c0c9f3881c3e593e5aef1046750880f2 (diff)
import new upstream version 0.2
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)