入力ファイルはPDF文書です。メモを書くための右側のスペースが欲しいです。
出力.pdfは次のとおりです。
!
答え1
これを行うには、次のものを組み合わせることができます。pdftk
そしてpdfnup
:
まず、空白の空白ページ(LibreOffice / OpenOffice、inkscape、(La)TeX、scribusなどを使用)を含むPDFを作成します。
次に、シェルまたはシェルスクリプトを介して呼び出します。
INPUTPDF=input.pdf
NUMPAGES=$(pdftk "$INPUTPDF" dump_data | grep NumberOfPages | egrep -o '[0-9]*')
pdftk "A=$INPUTPDF" B=empty.pdf cat $(for i in $(seq $NUMPAGES) ; do echo A$i B1 ; done) output output.pdf
pdfnup output.pdf
mv output-nup.pdf output.pdf
コマンドpdftk
ラインは次に展開されます。
pdftk A=input.pdf B=empty.pdf cat A1 B1 A2 B1 [...]
答え2
Joferの回答に加えて
pdfjam
オプションをクリエイティブに使用している場合は、これを直接行うこともできます。
pdfjam --landscape --offset '-8cm 0cm' document.pdf
デフォルトでオプションを--landscape
追加しないと、nup
ページは中央に配置されます。負のオフセットを使用すると、必要に応じてページを左に移動できます(最も良い値は入力によって異なります)。
答え3
これPyPdfライブラリPythonはPDFファイルのページを簡単に並べ替えることができます。以下は、すべてのページを回転させてサイズを半分に縮小する小さなスクリプトです。警告:テストされていません。
#!/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())]:
p.rotateClockwise(270)
(w, h) = p.mediaBox.upperRight
p.mediaBox.upperRight = (w/2, h/2)
output.addPage(p)
output.write(sys.stdout)