Como posso converter em lote subpastas de imagens em PDFs únicos?

0

Estou surpreso que não consegui encontrar um script fácil para isso on-line. Eu tenho um diretório com muitos subdiretórios, cada um preenchido com TIFFs. Como posso converter em lote subpastas de várias imagens (TIFFs) em PDFs únicos, cada um nomeado após suas pastas pai? Solução CLI e capacidade de definir o diretório de saída preferido

ex. dir > 1998 > Jan011998 > 1.tif 2.tif ... → Jan011998.pdf (or, ideally, 1998-01.pdf) %% dir > 1999 > 02231999 > 1.tif 2.tif ... → Feb231999.pdf (or 1999-02-23.pdf)

    
por Wolf 17.04.2014 / 01:10

2 respostas

0

Aqui está um pequeno script que deve fazer o truque:

#!/bin/bash

dirs=$(find . -type f -name "*.tiff" | xargs dirname |sort -u)

for d in $dirs; do
    #ls $d/*.tiff  # just debug info, should list all desired tiffs
    #echo $(cut -d/ -f3 <<<$d)  # debug info, should be desired output file name
    convert $d/*.tiff $(cut -d/ -f3 <<<$d).pdf

done

Primeiro, find é usado para determinar todos os diretórios que contêm arquivos TIFF. Em seguida, usamos convert do ImageMagick para converter todos os TIFFs em cada diretório em um arquivo PDF cujo nome é criado no diretório. Você pode incluir facilmente um diretório de saída diferente:

    convert $d/*.tiff somewhereElse/$(cut -d/ -f3 <<<$d).pdf
    
por 21.04.2014 / 22:02
0

O programa pdftk (kit de ferramentas de PDF) permite combinar vários arquivos PDF em um grande arquivo PDF de saída.

$ pdftk in1.pdf in2.pdf in3.pdf cat output big_out.pdf
    
por 28.04.2016 / 02:52