Nie jest jasne, co rozumiesz przez „utratę jakości”. To może znaczyć wiele różnych rzeczy. Czy możesz opublikować próbki do zilustrowania? Być może wyciąć tę samą sekcję z wersji niskiej jakości i dobrej jakości (jako PNG, aby uniknąć dalszej utraty jakości).
Być może trzeba użyć -density
do konwersji w wyższej rozdzielczości:
convert -density 300 file.pdf page_%04d.jpg
(Możesz dodać -units PixelsPerInch
lub w -units PixelsPerCentimeter
razie potrzeby. Domyślnie moja kopia to ppi.)
Aktualizacja: Jak już wspomniałeś, gscan2pdf
(sposób, w jaki go używasz) jest tylko opakowaniem dla pdfimages
(z popplera ). pdfimages
nie robi tego samego, convert
co w przypadku pliku PDF jako danych wejściowych.
convert
pobiera plik PDF, renderuje go w pewnej rozdzielczości i wykorzystuje uzyskaną bitmapę jako obraz źródłowy.
pdfimages
przegląda pliki PDF pod kątem osadzonych obrazów bitmapowych i eksportuje je do pliku. Po prostu ignoruje wszelkie polecenia rysowania tekstu lub wektorów w pliku PDF.
W rezultacie, jeśli masz plik PDF, który jest tylko opakowaniem wokół serii map bitowych, pdfimages
znacznie lepiej wyodrębni je, ponieważ dostarczy ci surowe dane w oryginalnym rozmiarze. Prawdopodobnie zechcesz również skorzystać z tej -j
opcji pdfimages
, ponieważ plik PDF może zawierać surowe dane JPEG. Domyślnie pdfimages
konwertuje wszystko do formatu PNM, a konwersja JPEG> PPM> JPEG jest procesem stratnym.
Więc spróbuj
pdfimages -j file.pdf page
Konieczne może być wykonanie tej czynności krok convert
po .jpg
kroku (w zależności od formatu bitmapy, z którego korzystał plik PDF).
Wypróbowałem to polecenie w pliku PDF, który utworzyłem z sekwencji obrazów JPEG. Wyodrębnione pliki JPEG były bajt po bajcie identyczne z obrazami źródłowymi. Nie można uzyskać wyższej jakości niż to.