Ghostscriptを使用してこれを解決できます。pdftk
それだけではできません(私の知る限り)。これを手動で行うためのコマンドライン手順を紹介します。ページサイズとページ番号のさまざまなパラメーターを使用して、これをプロシージャとして簡単にスクリプト化できます。しかし、あなたはそれを自分でできると言った;-)
Ghostscriptを使用してこれを解決する方法...
...そしてその楽しみのために、私は最近、「ダブルアップ」ページを備えた入力ファイルではなく、「トレブルアップ」を備えた入力ファイルでそれを行いました。この場合の答えはこちらで読むことができます。
あなたのケースはさらにシンプルです。次のようなものがあるようです。
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
4ページのPDFを1つ作成します。各ページのサイズは421 pt x 595 ptです。
最初の一歩
最初に、各入力ページから左側のセクションを抽出しましょう。
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
これらのパラメーターは何をしましたか?
まず、PDFで1インチ== 72ポイントであることを知ってください。それから残りは:
-o ...............:
出力ファイルに名前を付けます。暗黙的にも使用し-dBATCH -dNOPAUSE -dSAFER
ます。
-sDEVICE=pdfwrite :
出力形式としてPDFが必要です。
-g................:
出力メディアのサイズをピクセル単位で設定します。pdfwriteのデフォルトの解像度は720 dpiです。したがって、PageOffsetに一致するように10を掛けます。
-c "..............:
Ghostscriptに、指定されたPostScriptコードスニペットをメイン入力ファイルの直前に処理するよう要求します(これはに従う必要があります-f
)。
<</PageOffset ....:
メディア上のページ画像のシフトを設定します。(もちろん、左ページの場合、シフトによる[0 0]
影響はありません。)
-f ...............:
この入力ファイルを処理します。
最後のコマンドはどの結果を達成しましたか?
これです:
Output file: left-sections.pdf, page 1
+------------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: left-sections.pdf, page 2
+------------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
第二段階
次に、適切なセクション:
gs \
-o right-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [-421 0]>> setpagedevice" \
-f double-page-input.pdf
表示領域を固定したままページを左にシフトしているため、負のオフセットに注意してください。
結果:
Output file: right-sections.pdf, page 1
+------------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: right-sections.pdf, page 2
+------------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
最後のステップ
次に、ページを1つのファイルに結合します。ghostscriptでも同様にできますが、pdftk
代わりに使用します。このジョブの方が高速だからです。
pdftk \
A=right-sections.pdf \
B=left-sections.pdf \
shuffle \
output single-pages-output.pdf
verbose
できた これが望ましい結果です。4つの異なるページ、サイズ421x595 pt。
結果:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | |5595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->