Specificare un elenco di file come input in pdftk


2

Ho una lista di file che ho bisogno di specificare come input per pdftk in modo da concatenarli nell'ordine specificato. Non vedo un elenco di file di input come opzione nella pagina man di pdftk, ma forse c'è una soluzione alternativa per ottenere un risultato simile?


Quindi vuoi usare i valori dalla lista come i nomi dei file e l'ordine in cui devono essere concatenati, corretto?
Pimp Juice IT

@ McDonald's Sì, corretto.
Jeff Bauer

Non sono sicuro che possa essere d'aiuto o meno, ma guarda alcune delle risposte qui stackoverflow.com/questions/1521462/... . Se fosse Windows, probabilmente potrei capirlo, ma sto ancora imparando il mondo Linux e non ho nulla da testare di fronte a me adesso.
Pimp Juice IT

Risposte:


3

Questo è descritto nella sezione degli esempi della pagina man:

Partecipa in1.pdf e in2.pdf in un nuovo PDF, out1.pdf:

    pdftk in1.pdf in2.pdf cat output out1.pdf

oppure (usando le maniglie):

    pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf

o (usando i caratteri jolly):

    pdftk *.pdf cat output combined.pdf

Ovviamente puoi usare shell o xargs per espandere qualche lista agli argomenti pdf di input ...

Esempio per concat su tutti i file specificati in files.txt (supponendo che non ci siano problemi con spazi nei nomi di file ecc.)

pdftk $(cat files.txt) cat output out.pdf

@ user3188140 Ho provato varie permutazioni di combinazione di xargs e pdftk senza successo, ad esempio xargs -I {} pdftk {} output risultato cat.pdf
Jeff Bauer

@JeffBauer: potresti usare: cat files.txt | xargs | xargs -I {} bash -c "eval pdftk {} cat output out.pdf" - ma questo costrutto ha anche problemi con gli spazi e la lunghezza della riga di comando.
user3188140

Con l'aggiunta dell'ultima parte della tua risposta $ (cat files.txt), questa diventa la risposta accettata. Grazie per l'aiuto!
Jeff Bauer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.