Combine vários arquivos PDF em um (organizados em uma matriz)

11

Ter um conjunto de arquivos PDF, vamos dizer: in-01.pdf, in-02.pdf, in-03.pdf, ... Gostaria de combinar todas elas em uma única, formando uma M x Nmatriz.

O comando montagepermite fazer isso ( Me Ndeve ser um número inteiro):

montage -mode concatenate -tile NxM in-*.pdf out.pdf

O problema é que o tamanho do PDF resultante é enorme, enquanto eu esperaria que fosse (talvez apenas) um pouco maior que a soma de todos os tamanhos de PDF de entrada. Eu acho que montageé primeiro converter os PDFs de entrada em imagens e depois criar o PDF de saída a partir dessas imagens (por exemplo, o texto nos PDFs originais não é mostrado como texto no PDF de saída, mas como uma imagem com menor qualidade e maior Tamanho).

Eu acho que deveria haver uma maneira de fazer isso (o LATEX, por exemplo, permite inserir uma imagem em PDF em outro PDF sem a necessidade de convertê-la em uma imagem primeiro).

Estou procurando uma alternativa de linha de comando usando ferramentas de software livre nos sistemas GNU / Linux.

NOTA : podemos supor que esses arquivos PDF tenham a mesma dimensão exata (largura e altura). São imagens PDF geradas automaticamente, normalmente consistindo de um gráfico / plotagem (formas simples, linhas de linhas e retângulos) e alguns textos (título, etiquetas ...).

Peque
fonte
1
Você está correto sobre o que montagefaz :).
Michał Górny

Respostas:

9

Você pode usar o programa utilitário pdfnupdo pacote pdfjam .

pdfnup in.pdf --nup 3x3

deve gerar o arquivo in-nup.pdf com as páginas de in.pdf organizadas em uma série de páginas com uma matriz 3x3 a partir do pdf de origem.

Você deve mesclar todos os seus arquivos pdf em um único, também deve especificar um tamanho de papel para o arquivo de saída; consulte a documentação em pdf para obter detalhes.

xae
fonte
1
Caso você tenha um prefixo em todos os arquivos de entrada (ou seja in-), convém usar pdfnup in-*.pdf --nup 3x3 --outfile out.pdfpara evitar um arquivo de saída com o mesmo prefixo. Além disso, observe como você realmente não precisa mesclar todos os arquivos de entrada em um (você pode simplesmente usar o *curinga). Você pode adicionar isso à sua resposta.
Peque 13/10
Obrigado! funciona. Economizou muito tempo.
parisa