Risposta principale
Dato che sono interessato allo stesso tipo di lavoro (anche se non necessariamente per OCR i file PDF, ma per convertirli in DjVu e poi OCR), ho trovato questa domanda e le risposte carenti (dal momento che avevo bisogno di indovinare il DPI del immagini con il numero di pixel e quindi utilizzare le dimensioni come output di pdfinfo
o altri trucchi --- per non parlare del fatto che le immagini all'interno di un PDF possono avere densità diverse ecc.).
Dopo molte altre ricerche, ho scoperto che puoi usare pdfimages
(dal pacchetto poppler-utils ) come il seguente:
$ 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%
Si noti il x-ppi
e y-ppi
nell'elenco sopra. Elenca anche il formato in cui sono memorizzate le immagini nel PDF, che è interessante (a volte è JBIG2, a volte JPEG2000 ecc.)
Nota: il file deptest.pdf
usato sopra è disponibile dal pdfsizeopt
repository .
La vera azione
Successivamente, puoi semplicemente estrarre le immagini con pdfimages
se stesso o utilizzare pdftoppm
(anche da poppler-utils
) per eseguire il rendering di intere pagine in molti formati che ti potrebbero piacere (ad esempio, tiff, per la scansione con tesseract
).
Puoi usare qualcosa di simile al seguente (supponendo che tu abbia creato una directory chiamata imgs
dove mettere le tue immagini):
pdfimages -png Faraway-PRA.pdf imgs/prefix
I file verranno creati all'interno della directory imgs
con nomi che iniziano con prefix
, come in:
$ 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
(...)
Quindi, puoi eseguire qualsiasi intervento chirurgico che ritieni adatto a strumenti simili scantailor
o qualunque cosa ti piaccia.
Risposta più diretta
Se si desidera solo eseguire l'OCR di un file PDF, è possibile utilizzare un programma ben gestito e già compresso, ovvero ocrmypdf .
x-ppi
(risoluzione x in DPI) ey-ppi
(risoluzione y in DPI) NON sono mostrati nelle versioni precedenti dipdfimages
Ubuntu 14.04, ad esempio. Ciò che è disponibile su Ubuntu 18.04, tuttavia, include questi valori.pdfimages -v
sulla mia Ubuntu 18.04 spettacoli macchina ho la versione 0.62.0, che ha avere queste caratteristiche.