Comment diviser un PDF en plusieurs pages en ligne de commande?

8

Comment puis-je diviser (mosaïque?) Un énorme PDF en plusieurs pages? Le résultat peut être un PDF avec plusieurs pages A4 ou plusieurs PDF A4.

Bien que j'aie généré le PDF avec, dotj'aimerais que ce problème soit résolu en général - ou au moins sur un Ubuntu standard (par exemple, 12.04).

Le PDF d'entrée a été généré par Graphviz dot, par exemple. dot -Tpdf sample.dot > sample.pdf. Lorsque je n'ai pas ajouté de a size="8,11"; ratio="fill";au graphique, le PDF de sortie est très volumineux. Si j'ajoute la taille / les astuces de remplissage, dotseules les choses ont été réduites pour moi.

Permet de vous donner un exemple:

Si mon PDF d'origine était énorme comme ceci:

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

Cela devrait être divisé par une commande comme

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

dans

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

J'ai regardé le jeu d' outils pdfjam mais il semble que cette fonctionnalité n'y soit pas implémentée. Je voudrais que ce soit un outil en ligne de commande - et il devrait être automatisé, pas manuellement

towi
la source
Voir aussi superuser.com/questions/54054 et les candidats en double.
Skippy le Grand Gourou

Réponses:

7

Il semble que pdfposter puisse le faire.

Lars Kotthoff
la source
Ouais, ça promet de faire ça, mais ça ne marche pas :-(
René Nyffenegger
@ RenéNyffenegger: pdfposter semble être cassé pour certaines personnes. Voir ce rapport de bogue pour une solution de contournement.
tonysdg
Exactement ce que je cherchais, j'ai un gros fichier PDF de diagramme ERD généré avec rails-erd et graphviz, je pourrais le transformer en un fichier de plusieurs pages. pdfposter -p2x999a4m'a donné 22 pages, -p999x2a444 pages
Mathieu J.
5

A en fait mutoolpresque la même syntaxe que celle que vous proposez (êtes-vous son auteur ??):

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

Pour installer mutool, installez simplement mupdf, qui est probablement fourni avec la plupart des distributions GNU / Linux.

Skippy le Grand Gourou
la source
travaillé comme un rêve pour décomposer mon affiche A0 en versions A3 pour l'impression de brouillons.
oliversm
4

Jetez un œil sur http://www.graphviz.org/doc/FAQ.html : Q14. Comment imprimer un grand graphique sur plusieurs pages?

L'attribut page, s'il est défini, indique à Graphviz d'imprimer le graphique sous la forme d'un tableau de pages de la taille donnée. Ainsi, le graphique

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

sera émis en pages de 8,5 par 11 pouces. Une fois imprimées, les pages peuvent être carrelées pour faire un dessin de l'ensemble du graphique. À l'heure actuelle, la fonctionnalité ne fonctionne qu'avec la sortie PostScript. Alternativement, il existe différents outils et visualiseurs qui prendront une grande photo et vous permettront d'extraire des morceaux de la taille d'une page, qui peuvent ensuite être imprimés.

SEULEMENT Postscript! Mais pour l'automatisation, pas de showstopper :-). Laissez simplement ps2pdf courir dessus. Ça a marché pour moi.

Lars
la source
3

Plusieurs utilitaires Linux me viennent à l'esprit:

(à partir de leurs pages de manuel)

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

lit INPUT.PDF, extrait une ou plusieurs pages et écrit un fichier PDF pour chaque page dans OUTPUT% d.PDF (% d est un espace réservé pour le numéro de page) (à partir du package 'poppler-utils')

pdftk INPUT.PDF burst

lit INPUT.PDF, produisant un ou plusieurs fichiers PDF contenant des pages individuelles, nommés 'pg-XXXX.pdf' (sauf si le nom du fichier de sortie est spécifié) (à partir du package 'pdftk')

lornix
la source