La risposta attualmente accettata fa il lavoro, ma si traduce in un output di dimensioni maggiori e che soffre di perdita di qualità.
Non è chiaro cosa intendi per "perdita di qualità". Ciò potrebbe significare molte cose diverse. Potresti pubblicare alcuni esempi per illustrare? Forse tagliare la stessa sezione dalla scarsa qualità e versioni di buona qualità (come un PNG per evitare ulteriori perdite di qualità).
Forse devi usare -density
per fare la conversione con un dpi più alto:
convert -density 300 file.pdf page_%04d.jpg
(È possibile anteporre -units PixelsPerInch
o, -units
PixelsPerCentimeter
se necessario. La mia copia predefinita è ppi.)
Aggiornamento: Come hai sottolineato, gscan2pdf
(il modo in cui lo stai usando) è solo un wrapper per pdfimages
(da poppler ). pdfimages
non fa la stessa cosa che convert
succede quando viene dato un PDF come input.
convert
prende il PDF, lo rende ad una certa risoluzione e usa l'immagine bitmap risultante come immagine sorgente.
pdfimages
cerca nel PDF le immagini bitmap incorporate ed esporta ognuna in un file. Ignora semplicemente qualsiasi comando di testo o disegno vettoriale nel PDF.
Di conseguenza, se quello che hai è un PDF che è solo un wrapper attorno a una serie di bitmap, pdfimages
farà un lavoro molto migliore di estrarli, perché ti dà i dati grezzi alla sua dimensione originale. Probabilmente vuoi anche usare l' -j
opzione pdfimages
, perché un PDF può contenere dati JPEG non elaborati. Per impostazione predefinita, pdfimages
converte tutto in formato PNM e la conversione di JPEG> PPM> JPEG è un processo con perdita di dati.
Allora prova
pdfimages -j file.pdf page
Si può o non essere necessario seguire che con un convert
a .jpg
un passo (a seconda di cosa formato bitmap il PDF stava usando).
Ho provato questo comando su un PDF creato da una sequenza di immagini JPEG. I JPEG estratti erano byte per byte identici alle immagini di origine. Non puoi ottenere una qualità superiore a quella.