スキャンした文書を含む1ページのPDFファイルがあります。この文書の前半を他の人に送信するだけです。詳細を失うことなく元のページの上半分だけを含む新しいPDF文書を生成する方法は?
答え1
PDFファイルの選択した部分を印刷する方法
ツールバーの空白領域を右クリックしてまだアクティブになっていない場合は、「デフォルト」の横にチェックマークを付けて、メインツールバーが表示されていることを確認してください。
メインツールバーで「スナップショットツール」を見つけて選択します。
印刷したい領域の周りにボックスをドラッグします。選択内容がクリップボードにコピーされたことを知らせるメッセージが表示されます。 [OK] をクリックすると、選択した領域の周囲に点線が表示されます。
印刷をクリックします。
印刷ダイアログボックスで、印刷範囲を選択したグラフィックに設定します。
選択を予想サイズに印刷するには、ページスケールを[なし]に設定します。
選択内容を用紙に埋めるには、ページの倍率を用紙に合わせて設定します。用紙を最大限に活用するには、[自動回転と中央揃え]チェックボックスを選択することをお勧めします。
プレビューに満足したら、[OK]をクリックして文書を印刷します。
引用する
答え2
単一のページに対してこれを一度だけ行う必要がある場合は、GIMPを使用してPDFを開き、上半分をコピーします。
gimp 150264785-test-pdf.pdf
これにより、インポートするページを選択するように求められます。
最初のページを読み込み、Gimpを使用して関心のある領域を選択して切り取り、新しい画像として貼り付けてPDFに再エクスポートします。
答え3
それは半分です。un2up
(モジュロ回転)。だからPythonとそのpyPdf
図書館:
#!/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())]:
(w, h) = p.mediaBox.upperLeft
p.mediaBox.lowerLeft = (w, h/2)
output.addPage(p)
output.write(sys.stdout)
答え4
pyPdfが廃止されたため、正式に推奨されるPyPDF2ブランチを使用するように更新しました。
このページは更新されなくなりました。私はpyPdfのメンテナンスをやめました。 Phaseitという会社がプロジェクトをフォークし、pyPdf2という祝福を受け、引き続き開発・維持管理しています。http://knowah.github.com/PyPDF2/)。
また、シェルスクリプトでパッケージ化したかったので、コマンドラインパラメータを使用しました。
#!env python
import copy, sys
from PyPDF2 import PdfFileWriter, PdfFileReader
input = PdfFileReader(open(sys.argv[1], 'rb'))
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0, input.getNumPages())]:
(w, h) = p.mediaBox.upperLeft
p.mediaBox.lowerLeft = (w, h/2)
output.addPage(p)
output.write(open(sys.argv[2], 'wb'))