Não está claro o que você quer dizer com "perda de qualidade". Isso pode significar muitas coisas diferentes. Você poderia postar algumas amostras para ilustrar? Talvez corte a mesma seção das versões de baixa qualidade e boa qualidade (como um PNG para evitar mais perda de qualidade).
Talvez você precise usar -density
para fazer a conversão em um dpi maior:
convert -density 300 file.pdf page_%04d.jpg
(Você pode prefixar -units PixelsPerInch
ou -units PixelsPerCentimeter
, se necessário. Minha cópia padrão é ppi.)
Atualização: Como você apontou, gscan2pdf
(a maneira como você está usando) é apenas um wrapper para pdfimages
(de poppler ). pdfimages
não faz a mesma coisa que convert
faz quando recebe um PDF como entrada.
convert
pega o PDF, renderiza em alguma resolução e usa o bitmap resultante como a imagem de origem.
pdfimages
procura no PDF por imagens de bitmap incorporadas e exporta cada uma delas para um arquivo. Ele simplesmente ignora qualquer texto ou comandos de desenho vetorial no PDF.
Como resultado, se o que você tem é um PDF que é apenas um wrapper em torno de uma série de bitmaps, pdfimages
fará um trabalho muito melhor de extraí-los, porque ele obtém os dados brutos em seu tamanho original. Você provavelmente também deseja usar a opção -j
para pdfimages
, porque um PDF pode conter dados JPEG não processados. Por padrão, pdfimages
converte tudo em formato PNM e converte JPEG > PPM > JPEG é um processo com perdas.
Então, tente
pdfimages -j file.pdf page
Você pode ou não precisar seguir isso com uma etapa convert
to .jpg
(dependendo do formato de bitmap usado pelo PDF).
Eu tentei este comando em um PDF que eu fiz de uma sequência de imagens JPEG. Os JPEGs extraídos eram byte a byte idênticos às imagens de origem. Você não pode obter uma qualidade superior a essa.