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 -densityper fare la conversione con un dpi più alto:
convert -density 300 file.pdf page_%04d.jpg
(Puoi anteporre -units PixelsPerIncho, -units PixelsPerCentimeterse necessario. La mia copia è impostata su ppi.)
Aggiornamento: Come hai sottolineato, gscan2pdf(il modo in cui lo stai usando) è solo un wrapper per pdfimages(da poppler ). pdfimagesnon fa la stessa cosa che convertsuccede 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.
pdfimagescerca 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, pdfimagesfarà un lavoro molto migliore di estrarli, perché ti dà i dati grezzi alla sua dimensione originale. Probabilmente vuoi anche usare l' -jopzione pdfimages, perché un PDF può contenere dati JPEG non elaborati. Per impostazione predefinita, pdfimagesconverte 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 può avere bisogno di seguire che con un converta .jpgfase (a seconda di ciò bitmap formattare il PDF è stato utilizzato).
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.