PDFをコマンドラインで複数のページに分割する方法


8

1つの巨大なPDFを複数のページに分割(タイル化)するにはどうすればよいですか?結果は、複数のA4ページを含む1つのPDFまたは複数のA4 PDFになります。

私はPDFを生成しdotましたが、この問題を一般的に解決したい-または少なくとも標準のUbuntu(例:12.04)で解決したい。

入力PDFはGraphvizによって生成されていdotます。dot -Tpdf sample.dot > sample.pdfsize="8,11"; ratio="fill";グラフにa を追加しなかった場合、出力PDFは非常に大きくなります。サイズ/フィルヒントを追加すると、dot縮小されたものだけが表示されます。

一例を挙げましょう:

元のPDFが次のように巨大だった場合:

+-------------------+
|                   |
|  O                |
|  :                |
|  :..........C     |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        G       |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        :       |
|  U        :       |
|           B       |
|                   |
+-------------------+

これは次のようなコマンドで分割する必要があります

pdftile sample.pdf -x 2 -y 3 > sample-2x3.pdf

+---------+---------+
|         |         |
|  O      |         |
|  :      |         |
|  :......|...C     |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  :      | G       |
|  :      | :       |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  U      | :       |
|         | B       |
|         |         |
+---------+---------+

私はpdfjamツールセットを調べましたが、この機能はそこで実装されていないようです。コマンドラインツールにしたい- 手動ではなく自動化する必要がある


superuser.com/questions/54054および重複候補も参照してください。
Skippy le Grand Gourou

回答:


7

pdfposterがこれを行うことができるようです


うん、:-(それはそれを行うことを約束したが、それは動作しません
ルネNyffenegger

@RenéNyffenegger:pdfposterが壊れているようです。回避策については、このバグレポートを参照してください。
tonysdg 2017

まさに探していたものですが、rails-erdとgraphvizで生成された大きなERD図のPDFファイルがあり、複数ページのファイルに変換できました。pdfposter -p2x999a422ページ、-p999x2a444ページ
Mathieu J.

5

実際にmutoolは、あなたが提案しているものとほとんど同じ構文を持っています(あなたはその作者ですか?):

mutool -x 2 -y 3 sample.pdf sample-2x3.pdf

をインストールするにはmutool、単にインストールしますmupdf。これはおそらくほとんどのGNU / Linuxディストリビューションにパッケージ化されています。


ドラフト印刷用に私のA0ポスターをA3バージョンに分解するという夢のように機能しました。
oliversm

4

上を見てくださいhttp://www.graphviz.org/doc/FAQ.html Q14を:。大きなグラフを複数のページに印刷するにはどうすればよいですか?

ページ属性が設定されている場合、Graphvizに、指定されたサイズのページの配列としてグラフを印刷するように指示します。したがって、グラフ

ダイグラフG {page = "8.5,11"; ...}

8.5 x 11インチのページとして出力されます。印刷すると、ページを並べてグラフ全体を描くことができます。現在、この機能はPostScript出力でのみ機能します。あるいは、大きな写真を撮り、ページサイズのピースを抽出して印刷できるさまざまなツールとビューアがあります。

追記のみ!しかし、自動化のためにshowtopperはありません:-)。ps2pdfを実行します。それは私のために働いた。


3

いくつかのLinuxユーティリティが思い浮かびます:

(manページから)

pdfseperate [ オプション ] INPUT.PDF OUTPUT%d.PDF

INPUT.PDFを読み取り、1つ以上のページを抽出し、各ページの1つのPDFファイルをOUTPUT%d.PDFに書き込みます(%dはページ番号のプレースホルダーです)(「poppler-utils」パッケージから)

pdftk INPUT.PDFバースト

INPUT.PDFを読み取り、「pg-XXXX.pdf」という名前の個別のページを含む1つ以上のPDFファイルを生成します(出力ファイル名が指定されていない場合)(「pdftk」パッケージから)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.