La conversione di un file PDF in un'immagine può essere eseguita facilmente sulla riga di comando di Linux utilizzando un singolo comando. Scopri come installare l'utility, come usarlo e come automatizzarne la configurazione.
Che cos'è poppler-utils ?
Come accennato nell'introduzione di questo post, dobbiamo installare un piccolo insieme di utilità chiamate poppler-utils per aiutarci a convertire i file PDF in immagini.
Il set di utilità poppler-utils ci consente di convertire immagini in PDF e PDF in immagini.
installazione poppler-utils
Installare poppler-utils sulla tua distribuzione Linux basata su Debian / apt (come Ubuntu e Mint), fare:
sudo apt install poppler-utils
Installare poppler-utils sulla tua distribuzione Linux basata su RedHat / Yum (come RedHat e Fedora), Fare quanto segue:
sudo yum install poppler-utils
Conversión de PDF a imágenes
El comando requerido es simple y directo:
pdftoppm -png test.pdf test
Con il pdftoppm
comando podemos convertir PDF a imágenes. Especificamos que queremos un archivo PNG para el formato de salida (usando -png
) y que nuestro archivo de entrada es test.pdf
.
El archivo de salida que especificamos como test
. pdftoppm
agregará automáticamente un sufijo de número de página (Che cosa -1) y una extensión (basada en la anterior -png
opción aprobada).
Perciò, el nombre del archivo de salida será test-1.png
, como podemos verificar a continuación:
ls test-1.png
eog test-1.png
Qualsiasi pagina successiva sarebbe test-2.png eccetera. Il eog
comando (e eog è installato) aprirà il file in modo da poter rivedere il risultato, anche se puoi usare qualsiasi altro programma di gestione delle immagini che desideri.
Elaborazione batch di file PDF in immagini
Possiamo creare un comando a riga singola per elaborare in batch tutti i file PDF con un dato nome alle immagini. Quindi potremmo semplicemente aggiungere questa riga a un piccolo script .SH e automatizzalo ancora di più, oppure possiamo semplicemente usarlo sulla riga di comando ogni volta che abbiamo bisogno di convertire un gran numero di file PDF in immagini.
ls --color=mai testare*.pdf | ma 's|.PDF||' | xargs -I{} pdftoppm {}.pdf -png {}
In questo comando, prima otteniamo un elenco di directory per tutti i file PDF che hanno un nome che inizia con prova e finisce con .PDF, usando il ls --color=never test*.pdf
.
il --color=never
è essenziale, poiché i simboli di codifica a colori sulla custodia (se sono attivi, dato che sono di default) a volte possono confondere xargs.
Successivamente usiamo un semplice sed
comando sostitutivo per sostituire un punto letterale seguito da pdf con niente. In altre parole, eliminiamo il .PDF estensione del file.
Questo ci dà il vantaggio di aggiungerlo di nuovo in seguito solo quando necessario, In altre parole, quando si specifica il file di input per pdftoppm
, ma non quando si specifica il file di output per lo stesso pdftoppm
comando, proprio come il nostro esempio precedente sopra.
Finire, noi usiamo xargs
per inviare ogni nome file pdf (meno il .PDF) per pdftoppm
uno per uno. Noi usiamo il -I
opzione a xargs
che ci consente di specificare qualsiasi input ricevuto (In altre parole, nomi di file pdf abbreviati) semplicemente usando {}
nel comando che segue.
Come potete vedere, Nostro pdftoppm
Il comando ora assomiglia molto al primo esempio, con ogni singolo nome di file PDF come input (con il nuovo suffisso .PDF), e come output il nome del file pdf senza .PDF.
eseguiamolo:
Questo ha funzionato bene: i tre file PDF, tutti con una pagina ciascuno, sono diventati tre .png record (un'immagine per pagina e in questo caso per PDF poiché ogni PDF aveva una sola pagina), tutti con il nome e il suffisso corretti.
In alternativa a -png
opzione, si può anche usare -jpeg
per generare invece file JPEG. Utilizzo pdftoppm --help
oh man pdftoppm
per vedere un elenco completo di alternative.
Fine
In questo post abbiamo visto quanto può essere facile e semplice convertire file PDF in file immagine, E questo direttamente dalla riga di comando di Linux!! Stiamo anche cercando un modo semplice per automatizzare questa procedura. Godere!