¿Cómo dividir un PDF en varias páginas en la línea de comando?


8

¿Cómo puedo dividir (mosaico) un gran PDF en varias páginas? El resultado puede ser un PDF con múltiples páginas A4 o varios PDF A4.

Aunque generé el PDF con, dotme gustaría resolver este problema en general, o al menos en un Ubuntu estándar (por ejemplo, 12.04).

El PDF de entrada ha sido generado por Graphviz dot, por ejemplo. dot -Tpdf sample.dot > sample.pdf. Cuando no agregué un size="8,11"; ratio="fill";a la gráfica, el PDF de salida es muy grande. Si agrego el tamaño / sugerencias de relleno, dotsolo reduciré las cosas para mí.

Vamos a darte un ejemplo:

Si mi PDF original era enorme así:

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

Esto debería ser dividido por un comando como

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

dentro

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

Miré en el conjunto de herramientas pdfjam pero parece que esta característica no se implementa allí. Me gustaría que fuera una herramienta de línea de comandos, y debería ser automática, no manual


Consulte también superuser.com/questions/54054 y candidatos duplicados.
Skippy le Grand Gourou

Respuestas:


7

Parece que pdfposter puede hacer esto.


Sí, promete hacer eso, pero no funciona :-(
René Nyffenegger

@ RenéNyffenegger: pdfposter parece estar roto para algunas personas. Vea este informe de error para una solución alternativa.
tonysdg

Exactamente lo que estaba buscando, tengo un gran archivo PDF de diagrama ERD generado con rails-erd y graphviz, podría convertirlo en un archivo de varias páginas. pdfposter -p2x999a4me dio 22 páginas, -p999x2a444 páginas
Mathieu J.

5

En realidad mutooltiene casi la misma sintaxis que la que estás sugiriendo (¿eres su autor?):

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

Para instalar mutool, simplemente instale mupdf, que probablemente esté empaquetado con la mayoría de las distribuciones de GNU / Linux.


funcionó como un sueño romper mi póster A0 en versiones A3 para la impresión de borradores.
oliversm

4

Eche un vistazo a http://www.graphviz.org/doc/FAQ.html : P14. ¿Cómo puedo imprimir un gráfico grande en varias páginas?

El atributo de página, si está configurado, le dice a Graphviz que imprima el gráfico como una matriz de páginas del tamaño dado. Por lo tanto, el gráfico

dígrafo G {página = "8.5,11"; ...}

se emitirá como páginas de 8.5 por 11 pulgadas. Cuando se imprime, las páginas se pueden colocar en mosaico para hacer un dibujo de todo el gráfico. En la actualidad, la función solo funciona con la salida PostScript. Alternativamente, hay varias herramientas y visores que tomarán una imagen grande y le permitirán extraer piezas del tamaño de una página, que luego se pueden imprimir.

SOLO PostScript! Pero para la automatización no hay showtopper :-). Solo deja que ps2pdf lo recorra. Funcionó para mi.


3

Varias utilidades de Linux vienen a la mente:

(de sus páginas de manual)

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

lee INPUT.PDF, extrae una o más páginas y escribe un archivo PDF para cada página en OUTPUT% d.PDF (% d es el marcador de posición para el número de página) (del paquete 'poppler-utils')

pdftk INPUT.PDF burst

lee INPUT.PDF, produciendo uno o más archivos PDF que contienen páginas individuales, llamado 'pg-XXXX.pdf' (a menos que se especifique el nombre de archivo de salida) (del paquete 'pdftk')

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.