Como dividir um PDF em várias páginas na linha de comando?

8

Como posso dividir (lado a lado?) Um PDF enorme em várias páginas? O resultado pode ser um PDF com várias páginas A4 ou vários PDFs A4.

Embora tenha gerado o PDF com doteu gostaria de resolver esse problema em geral - ou pelo menos em um Ubuntu padrão (por exemplo, 12.04).

O PDF de entrada foi gerado pelo Graphviz dot, por exemplo. dot -Tpdf sample.dot > sample.pdf. Quando não adicionei size="8,11"; ratio="fill";a ao gráfico, o PDF de saída é muito grande. Se eu adicionar dicas de tamanho / preenchimento, dotreduzi as coisas para mim.

Vamos dar um exemplo:

Se meu PDF original fosse enorme assim:

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

Isso deve ser dividido por um comando como

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

para dentro

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

Eu olhei para o conjunto de ferramentas pdfjam, mas parece que esse recurso não está implementado lá. Gostaria que fosse uma ferramenta de linha de comando - e deve ser automatizada, não manualmente

towi
fonte
Consulte também superuser.com/questions/54054 e candidatos duplicados.
Skippy le Grand Gourou

Respostas:

7

Parece que o pdfposter pode fazer isso.

Lars Kotthoff
fonte
Sim, ele promete fazer isso, mas ele não funciona :-(
René Nyffenegger
@ RenéNyffenegger: o pdfposter parece estar quebrado para algumas pessoas. Consulte este relatório de bug para obter uma solução alternativa.
tonysdg
Exatamente o que eu estava procurando, eu tenho um arquivo PDF de diagrama ERD grande gerado com rails-erd e graphviz, eu poderia me transformar em um arquivo de várias páginas. pdfposter -p2x999a4deu-me 22 páginas, -p999x2a444 páginas
Mathieu J.
5

Na verdade, mutooltem quase a mesma sintaxe que você está sugerindo (você é o autor dela?):

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

Para instalar mutool, basta instalar mupdf, o que provavelmente é fornecido com a maioria das distribuições GNU / Linux.

Skippy le Grand Gourou
fonte
funcionou como um sonho para dividir meu pôster A0 em versões A3 para impressão de rascunho.
Oliverm
4

Dê uma olhada em http://www.graphviz.org/doc/FAQ.html : Q14. Como posso imprimir um grande gráfico em várias páginas?

O atributo da página, se definido, informa ao Graphviz para imprimir o gráfico como uma matriz de páginas do tamanho especificado. Assim, o gráfico

dígrafo G {page = "8.5,11"; ...}

será emitido como 8,5 por páginas de 11 polegadas. Quando impressas, as páginas podem ser lado a lado para fazer um desenho de todo o gráfico. No momento, o recurso funciona apenas com saída PostScript. Como alternativa, existem várias ferramentas e visualizadores que tiram uma foto grande e permitem extrair peças no tamanho de página, que podem ser impressas.

SOMENTE Postscript! Mas para automação, não há como parar :-). Apenas deixe o ps2pdf passar por cima dele. Funcionou para mim.

Lars
fonte
3

Vários utilitários linux vêm à mente:

(das páginas de manual)

pdfseperate [ opções ] INPUT.PDF OUTPUT% d.PDF

lê INPUT.PDF, extrai uma ou mais páginas e grava um arquivo PDF para cada página em OUTPUT% d.PDF (% d é um espaço reservado para o número da página) (do pacote 'poppler-utils')

pdftk INPUT.PDF burst

lê INPUT.PDF, produzindo um ou mais arquivos PDF contendo páginas individuais, denominadas 'pg-XXXX.pdf' (a menos que o nome do arquivo de saída seja especificado) (do pacote 'pdftk')

lornix
fonte