更新:スクリプトが機能する startdt に感謝します! pdfは別のページです。他のスクリプトでスクリプトを試してみましたが、各 pdf ページも正しく吐き出しましたが、ページ番号の順序が正しい場合と間違っている場合があります。たとえば、pdf ファイルの 25 ~ 28 ページでは、印刷されたページ番号は 14、15、17、16 です。PDF 全体はhttp://download304.mediafire.com/u6ewhjt77lzg/bgf8uzvxatckycn/3.pdfからダウンロードできます。
オリジナル:スキャンした pdf があります。2 つの紙のページが 1 つの pdf ページに並んでいます。PDFページを2つに分割したいと思います。元の左半分が2つの新しいPDFページの前になります。pdfは次のようになります。
Gillesun2up
にインスパイアされた名前の Python スクリプトを次に示します。
#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0,input.getNumPages())]:
q = copy.copy(p)
(w, h) = p.mediaBox.upperRight
p.mediaBox.upperLeft = (0, h/2)
p.mediaBox.upperRight = (w, h/2)
p.mediaBox.lowerRight = (w, 0)
p.mediaBox.lowerLeft = (0, 0)
q.mediaBox.upperLeft = (0, h)
q.mediaBox.upperRight = (w, h)
q.mediaBox.lowerRight = (w, h/2)
q.mediaBox.lowerLeft = (0, h/2)
output.addPage(q)
output.addPage(p)
output.write(sys.stdout)
コマンドを使用してターミナルのpdfでスクリプトを試しましたun2up < page.pdf > out.pdf
が、出力out.pdf
が正しく分割されません。
変数w
との値h
、 の出力もチェックしましたp.mediaBox.upperRight
が、それらは514
と1224
であり、実際の比率に基づいて正しく見えません。
ファイルはhttp://download851.mediafire.com/bdr4sv7v5nzg/raci13ct5w4c86j/page.pdfからダウンロードできます。