誰かがpdfのページを真ん中の2つの新しいページに分割する良い方法を知っていますか?
明確にするために、私はnot既存のページをPDFから分割しようとしています。既存の単一ページから2つの新しいページを作成しようとしています。
[〜#〜] briss [〜#〜] を試してください。
GUIで領域を定義することにより、各ページを必要な数のサブページに分割できます。類似したすべてのページがグループにグループ化されるため、そのグループのリージョンを一度定義できます。
クロスプラットフォーム、無料、オープンソースです。
Ghostscriptを使用してこれを解決できます。 pdftk
だけではそれはできません(私の知る限り)。これを手動で行うためのコマンドライン手順を示します。これを手順として簡単にスクリプト化でき、ページサイズやページ番号のパラメータも異なります。しかし、あなたは自分でそれを行うことができると言いました;-)
...そしてそれを楽しむために、私は最近、「ダブルアップ」ページを特徴とする入力ファイルを使用してしないを行いましたが、 「高音」。この場合の答えは この他の応答 で読むことができます。
あなたのケースはさらに簡単です。あなたはこれに似たものを持っているようです:
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
1 PDF 4ページで作成します。各ページのサイズは421 pt x 595 ptです。
まず、各入力ページから左側のセクションを抽出してみましょう。
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
これらのパラメータは何をしましたか?
まず、PDF1インチ== 72ポイントであることを確認してください。その後、残りは次のようになります。
-o ...............:
出力ファイルに名前を付けます。暗黙的に-dBATCH -dNOPAUSE -dSAFER
も使用します。-sDEVICE=pdfwrite :
出力形式としてPDFが必要です。-g................:
は、出力メディアのサイズをピクセル単位で設定します。 pdfwriteのデフォルトの解像度は720 dpiです。したがって、PageOffsetの一致を得るために10を掛けます。-c "..............:
は、Ghostscriptに対して、メイン入力ファイル(-f
が後に続く必要がある)の直前に、指定されたPostScriptコードスニペットを処理するように要求します。<</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 A B \
output single-pages-output.pdf
verbose
できました。これが望ましい結果です。 4つの異なるページ、サイズは421x595 pt。
結果:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | | 595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->
@ martttとその nixおよびLinuxでの回答 。に感謝
mutool
を使用できます(mupdf
の一部として提供されます):
mutool poster -x 2 input.pdf output.pdf
垂直分割を実行する場合は、-y
を使用することもできます。
@Kurtの回答を拡張するには(コメントするのに十分な評判ポイントがないため)、使用する寸法がメディアボックスの寸法と異なる場合は、使用する寸法がクロップボックスの寸法に基づいていないことを確認してください。出力サイズはメディアボックスのサイズに基づいていますが、オフセットはクロップボックスのサイズを使用しているようです。
20.0833 x 13.833メディアボックスと、ドキュメントのトリムボックスと同じ19.25 x 13.0クロップボックスがあり、Ubuntuの左側の2つのページに分割するゲートフォールドページの場合:
gs -o left.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [0 0]>> setpagedevice" -f gatefold.pdf
右側:
gs -o right.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [-693 0]>> setpagedevice" -f gatefold.pdf
そして、それらをpdftk left.pdf right.pdf output final.pdf
。
代わりに、クロップボックスをメディアボックスと同じに設定することもできます。その場合、オフセットは-723になります。ただし、ページをシームレスに表示するには、トリミングをリセットしてトリミングする必要があります。それ以外の場合は、メディアをトリミングに設定します。
Krop(Python)とPDFscissors(Java)はまだ言及されていません。適切なプレゼンテーションPDFに戻したいpdfnup-ped講義ノート。