Mac OS X: come unire i file pdf in una directory in base ai loro nomi di file

30

Voglio unire diverse centinaia di file pdf in una directory automaticamente in base al loro nome file.

per es.

I file 1000.1.pdf 1000.2.pdf 1000.3.pdf 1000.x.pdf dovrebbe essere unito in 1000.pdf

e

2000.abc.pdf 2000.def.pdf 2000.ghi.pdf 2000.jkl.pdf 2000.5.pdf in 2000.pdf .

Non voglio usare soluzioni basate su Preview / Automator (se disponibile) perché rispetto ai software di terze parti come Adobe Acrobat o PDFpen che uniscono file PDF spesso (a seconda dei documenti di origine) determinano un aumento significativo delle dimensioni del file (vedi ad esempio Cosa fa aumentare le dimensioni del file PDF quando si salva in Anteprima? )

Hai qualche consiglio? Grazie!

    
posta lejonet 17.08.2013 - 20:20
fonte

4 risposte

24

Prova pdftk . È un software a riga di comando in grado di unire file PDF (e anche molte altre cose, ma qui non è rilevante). Puoi scaricarlo dalla pagina web ufficiale di pdftk .

Sintassi di esempio:

pdftk old1.pdf old2.pdf old3.pdf cat output new.pdf

creerà il file new.pdf che contiene la concatenazione dei file old1.pdf , old2.pdf , old3.pdf .

Per risolvere il tuo problema, con i tuoi nomi di file di esempio:

pdftk 1000.*.pdf cat 1000.pdf
pdftk 2000.*.pdf cat 2000.pdf

e così via. Puoi utilizzare lo script di shell per renderlo completamente automatico se lo desideri (ma dovrai dedicare un po 'di tempo a imparare come scrivere script di shell).

Supponendo che tutti i file siano denominati 1000.x, 2000.x ecc. uno script di shell potrebbe apparire in qualche modo come questo

#!/bin/bash

for n in {1..9}; do
    if [[ -r ${n}000.1.pdf ]]; then
        rm -f ${n}000.pdf
        pdftk ${n}000.*.pdf cat ${n}000.pdf && mv ${n}000.*.pdf ~/.Trash/
    fi
done
    
risposta data 18.08.2013 - 02:26
fonte
46

C'è uno script Python nascosto in Automator.app che unisce i file .PDF

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --help
Usage: join [--output <file>] [--shuffle] [--verbose]

Esempio di utilizzo:

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --output all.pdf *.pdf
    
risposta data 17.08.2013 - 22:31
fonte
6

Puoi utilizzare pdfunite distribuito con poppler . Puoi installare poppler con Homebrew:

brew install poppler

E ora usalo:

pdfunite input1.pdf input2.pdf input3.pdf output.pdf

poppler viene fornito anche con questi altri comandi: pdfdetach , pdffonts , pdfimages , pdfinfo , pdfseparate , pdftocairo , pdftohtml , pdftoppm , pdftops , pdftotext , oltre a pdfunite .

    
risposta data 15.09.2016 - 15:33
fonte
0

pdftk non funziona più su El Capitan! (OS X 10.10)

Un'alternativa è pagemaster da PDFTron. La sintassi sarebbe:

pagemaster -m *.pdf -o output.pdf

Non ha il problema di aumentare le dimensioni del file della soluzione di Automator di cui sopra, poiché utilizza una libreria PDF personalizzata.

Nota: questo non è uno strumento gratuito. La versione demo aggiunge una filigrana sottile su ogni pagina.

    
risposta data 13.09.2016 - 23:55
fonte

Leggi altre domande sui tag