Główna odpowiedź
Ponieważ interesuje mnie ten sam rodzaj pracy (choć niekoniecznie OCR plików PDF, ale ich konwersja do DjVu, a następnie OCR), znalazłem to pytanie i brak odpowiedzi (ponieważ musiałem odgadnąć DPI obrazy z liczbą pikseli, a następnie użyj rozmiaru jako danych wyjściowych pdfinfo
lub innych sztuczek --- nie wspominając, że obrazy w pliku PDF mogą mieć różną gęstość itp.).
Po wielu badaniach więcej, odkryłem, że możesz używać pdfimages
(z pakietu poppler-utils ) w następujący sposób:
$ pdfimages -list deptest.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 100 100 gray 1 1 image no 9 0 53 53 169B 14%
2 1 image 100 100 gray 1 1 ccitt no [inline] 53 53 698B 56%
Zauważ, że x-ppi
i y-ppi
u wystawianie powyżej. Podaje także format, w jakim obrazy są przechowywane w pliku PDF, co jest fajne (czasami jest to JBIG2, czasem JPEG2000 itp.)
Uwaga: Plik deptest.pdf
użyty powyżej jest dostępny z pdfsizeopt
repozytorium .
Prawdziwa akcja
Następnie możesz po prostu wyodrębnić obrazy pdfimages
samemu lub użyć pdftoppm
(również z poppler-utils
) do renderowania całych stron w wielu formatach, które mogą ci się spodobać (np. Tiff, do skanowania tesseract
).
Możesz użyć czegoś takiego: (zakładając, że utworzyłeś katalog o nazwie, w imgs
której umieścisz swoje obrazy):
pdfimages -png Faraway-PRA.pdf imgs/prefix
Pliki zostaną utworzone w katalogu imgs
o nazwach rozpoczynających się od prefix
, jak w:
$ ls
prefix-000.png prefix-047.png prefix-094.png prefix-141.png
prefix-001.png prefix-048.png prefix-095.png prefix-142.png
prefix-002.png prefix-049.png prefix-096.png prefix-143.png
prefix-003.png prefix-050.png prefix-097.png prefix-144.png
(...)
Następnie możesz wykonać dowolną operację, którą uznasz za odpowiednią, za pomocą narzędzi takich jak scantailor
lub cokolwiek innego.
Bardziej bezpośrednia odpowiedź
Jeśli chcesz tylko OCR pliku PDF, możesz użyć programu, który jest dobrze utrzymany i już spakowany, a mianowicie ocrmypdf .
x-ppi
(rozdzielczość xw DPI) iy-ppi
(rozdzielczość yw DPI) NIE są pokazywane w starszych wersjachpdfimages
, na przykład z Ubuntu 14.04. Jednak to, co jest dostępne w Ubuntu 18.04, zawiera te wartości.pdfimages -v
na moim Ubuntu 18.04 pokazy maszyn mam wersję 0.62.0, który robi posiadają te cechy.