Come dividere un PDF su più pagine sulla riga di comando?


8

Come posso dividere (affiancare?) Un enorme PDF su più pagine? Il risultato può essere un PDF con più pagine A4 o diversi PDF A4.

Anche se ho generato il PDF con, dotvorrei che questo problema fosse risolto in generale - o almeno su un Ubuntu standard (es. 12.04).

Il PDF di input è stato generato da Graphviz dot, ad es. dot -Tpdf sample.dot > sample.pdf. Quando non ho aggiunto size="8,11"; ratio="fill";a al grafico il PDF di output è molto grande. Se aggiungo le dimensioni / suggerimenti di riempimento, dotridimensiona solo le cose per me.

Facciamo un esempio:

Se il mio PDF originale fosse enorme come questo:

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

Questo dovrebbe essere diviso da un comando simile

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

in

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

Ho esaminato il set di strumenti pdfjam ma sembra che questa funzione non sia implementata lì. Vorrei che fosse uno strumento da riga di comando - e dovrebbe essere automatizzato, non manualmente


Vedi anche superuser.com/questions/54054 e candidati duplicati.
Skippy le Grand Gourou,

Risposte:


7

Sembra che pdfposter possa farlo.


Sì, promette di farlo, ma non funziona :-(
René Nyffenegger,

@ RenéNyffenegger: pdfposter sembra essere rotto per alcune persone. Vedi questa segnalazione di bug per una soluzione alternativa.
tonysdg,

Esattamente quello che stavo cercando, ho un grande file PDF del diagramma ERD generato con rails-erd e graphviz, che potrei trasformare in un file di più pagine. pdfposter -p2x999a4mi ha dato 22 pagine, -p999x2a444 pagine
Mathieu J.,

5

In realtà mutoolha quasi la stessa sintassi di quella che stai suggerendo (sei il suo autore ??):

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

Per installare mutool, basta installare mupdf, che è probabilmente impacchettato con la maggior parte delle distribuzioni GNU / Linux.


ha funzionato come un sogno per spezzare il mio poster A0 in versioni A3 per la stampa di bozze.
oliversm,

4

Dai un'occhiata a http://www.graphviz.org/doc/FAQ.html : Q14. Come posso stampare un grande grafico su più pagine?

L'attributo page, se impostato, indica a Graphviz di stampare il grafico come una matrice di pagine della dimensione specificata. Quindi, il grafico

digraph G {page = "8.5,11"; ...}

saranno emessi come pagine da 8,5 per 11 pollici. Una volta stampate, le pagine possono essere piastrellate per creare un disegno dell'intero grafico. Al momento, la funzione funziona solo con l'output PostScript. In alternativa, ci sono vari strumenti e visualizzatori che faranno una grande immagine e ti permetteranno di estrarre pezzi di dimensioni di pagina, che possono quindi essere stampati.

SOLO Postscript! Ma per l'automazione non ci sono spettacoli :-). Lascia che ps2pdf ci passi sopra. Ha funzionato per me.


3

Vengono in mente diverse utility linux:

(dalle loro pagine man)

pdfseperate [ opzioni ] INPUT.PDF OUTPUT% d.PDF

legge INPUT.PDF, estrae una o più pagine e scrive un file PDF per ogni pagina in OUTPUT% d.PDF (% d è segnaposto per il numero di pagina) (dal pacchetto 'poppler-utils')

pdftk INPUT.PDF scoppiato

legge INPUT.PDF, producendo uno o più file PDF contenenti singole pagine, denominato 'pg-XXXX.pdf' (se non specificato il nome del file di output) (dal pacchetto 'pdftk')

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.