Come creare PDF con pagine scansionate ma testo selezionabile?


32

Oggi ho ricevuto un PDF dal nostro fornitore e conteneva diverse pagine stampate e scansionate con firme, ecc. L'ho aperto in Acrobat Reader DC. Ma con mia sorpresa il testo delle immagini evidentemente scansionate potrebbe essere selezionato e copiato come testo. Guarda lo screenshot:

PDF scansionato con testo selezionabile

C'è evidentemente qualche OCR dietro questo poiché il testo copiato contiene errori. Ma come è possibile? Non l'ho mai visto prima, come può essere creato?


4
Pacchetti come github.com/gkovacs/pdfocr consentono che ciò avvenga per PDF di immagini già esistenti
esussum,

In che modo differisce dai risultati ottenuti da Batch-OCR molti PDF ?
Dmitry Grigoryev,

@DmitryGrigoryev Non avevo mai visto questo tipo di PDF prima, quindi ho chiesto di cosa si trattasse. Non c'è nulla nel firmware della stampante OCR o OCRMyPDF nelle risposte, sia le domande che le risposte sono molto diverse. Non vedo nulla di duplicato tranne che entrambe le domande riguardano OCR e PDF.
Vojtěch Dohnal,

Bene, non ho mai visto un PDF OCR diverso da quello che hai pubblicato, ecco perché la tua domanda mi sembra strana.
Dmitry Grigoryev,

Risposte:


53

Questo (contrariamente ad altre risposte qui) molto probabilmente non ha nulla a che fare con Acrobat.

La maggior parte degli scanner di documenti professionali (tutti ?!) e la maggior parte di quelli semi-professionali eseguiranno automaticamente l'OCR quando si sceglie "Salva come PDF" e si seleziona la casella di controllo "ricercabile" nelle impostazioni. I modelli "consumer grade" più economici eseguiranno l'OCR sul PC collegato, mentre gli scanner di rete tipici lo fanno internamente.

La parola "ricercabile" significa niente di più e niente di meno che lo scanner eseguirà l'OCR, quindi genererà una pagina con le bitmap scansionate all'interno e le sovrapporrà con caratteri invisibili dall'OCR, ciascuno posizionato sopra il rispettivo carattere sulla bitmap.

In questo modo, puoi cercare e anche selezionare, copiare e incollare la "bitmap" come per magia. Non è affatto magia, tuttavia. In realtà, stai solo copiando un testo invisibile.

Lo scanner può anche fare qualche magia aggiuntiva come comporre l'immagine grande da molte piccole tessere che vengono anche riutilizzate. Ciò si traduce in una dimensione del documento molto più piccola di quanto sarebbe effettivamente possibile, ma può anche portare a sorprese divertenti (non così divertenti se ti accadono!) Come Xerox altera la storia delle tue fatture , ironicamente anche quando non viene eseguito l'OCR, a seconda sul firmware.


Sì, probabilmente è così che l'hanno creato, dubito fortemente che utilizzino Adobe Acrobat completo.
Vojtěch Dohnal,

Lo abbiamo fatto disponendo tutto il testo dietro l'immagine scansionata nel punto in cui l'OCR riportava dove trovava ciascun nodo di testo.
Thorbjørn Ravn Andersen,

10

Ma come è possibile?

Fondamentalmente, un programma esegue l'OCR sul file di input e quindi posiziona un livello invisibile di testo sull'immagine. In alternativa, potrebbe anche posizionare un livello visibile di testo sotto l'immagine, dando lo stesso effetto.

Quando selezioni qualcosa, l'immagine non ha importanza perché viene selezionato il livello di testo.

come può essere creato?

Esistono diversi modi. Dato che Acrobat è già stato suggerito, aggiungerò alcune opzioni gratuite (e per fortuna non sei obbligato ad avere Windows per usarle).

PDF-XChange Viewer

Questo è un programma Windows nativo di Tracker Software . La versione freeware funziona bene con Wine se si utilizza l'edizione a 32 bit in un prefisso a 32 bit, quindi è possibile utilizzarla su Windows, macOS e Linux. Negli ultimi due casi, avresti bisogno rispettivamente di PlayOnMac o PlayOnLinux.

Ecco un'immagine da questa risposta che ho lasciato su Ask Ubuntu:

Schermata di PDF-XChange Viewer in Wine

OCRmyPDF

Questo è un programma multipiattaforma scritto in Python , basato su Ghostscript, Tesseract e Unpaper. Dai documenti:

Cosa fa OCRmyPDF

OCRmyPDF analizza ogni pagina di un PDF per determinare lo spazio colore e la risoluzione (DPI) necessari per acquisire tutte le informazioni su quella pagina senza perdere il contenuto. Usa Ghostscript per rasterizzare la pagina, quindi si esibisce su OCR sull'immagine rasterizzata per creare un "livello" OCR. Il layer viene quindi innestato nuovamente nel PDF originale.

Può essere facilmente installato su derivati ​​Debian e Ubuntu:

apt-get install ocrmypdf

O su macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

Su Windows è necessario utilizzare l'immagine Docker. Vedi i documenti ufficiali per i dettagli.

L'utilizzo è molto semplice e ti suggerisco di utilizzare i parametri opzionali -d(di inclinazione) e -c(puliti) per risultati migliori. Raddrizzerà ogni pagina e pulirà piccoli punti / imperfezioni prima di eseguire il processo OCR.

Puoi (e dovresti) fornire la lingua -l.

Ecco un esempio tratto da questo documento distorto scritto in italiano:

Esempio per OCRmyPDF

Il comando che ho usato era:

ocrmypdf -l ita -d -c input.pdf output.pdf

Strumenti online

Ci sono alcuni strumenti online che fanno lo stesso. Notevole, PDF24 ospita una versione web gratuita di OCRmyPDF che può essere utilizzata senza limitazioni.

Guarda anche:


Grazie per questa risposta, ho provato OCRMyPDF e ha funzionato molto bene, ma sfortunatamente il supporto linguistico di cui ho bisogno non è ancora maturo, quindi i risultati non sono ancora molto utilizzabili.
Vojtěch Dohnal,

@ VojtěchDohnal in quale lingua sei interessato? Hai installato il language pack pertinente per Tesseract? Vedi l'elenco qui: macports.org/ports.php?by=name&substr=tesseract-
Andrea Lazzarotto

4

Ciò è probabilmente dovuto a una funzione OCR di Acrobat :

Acrobat è in grado di riconoscere il testo in qualsiasi file PDF o immagine in dozzine di lingue. Tutto quello che devi fare è aprire il documento o l'immagine scansionata che desideri OCR, quindi fare clic sul pulsante blu Strumenti nella parte superiore destra della barra degli strumenti. In quella barra laterale, seleziona la scheda Riconosci testo, quindi fai clic sul pulsante In questo file.

...

Con il testo riconosciuto, ora puoi eseguire il markup del PDF utilizzando tutti i normali strumenti di markup: puoi evidenziare, barrare il testo e altro . Puoi persino copiare il testo con la formattazione rilevata, anche se spesso è meno preciso del riconoscimento del testo stesso.


Questo funziona anche in Reader? Altri documenti non funzionano in questo modo per me ...
Vojtěch Dohnal,

Temo di no, ma dai un'occhiata a questo articolo: pdf.wondershare.com/pdf-software-comparison/…
duDE

3

Dal sito Web di Adobe

Riconosci il testo in un file PDF scansionato

Quando esegui la scansione di documenti cartacei in PDF, stai davvero solo scattando foto di quei documenti. È fantastico per le foto e altre immagini stampate, ma cosa succede se hai un documento di 200 pagine in cui devi trovare una parola o una frase particolare? Usa Acrobat per riconoscere il testo in quel file scansionato, rendendo il contenuto del testo ricercabile e utilizzabile.

  1. Con il documento acquisito tramite scanner aperto in Acrobat, aprire il riquadro Strumenti ed espandere il pannello Riconoscimento testo. Se non riesci a visualizzare "Riconoscimento testo" nel riquadro Strumenti, puoi aggiungerlo selezionando il menu nell'angolo in alto a destra (immagine in basso: vedi dove punta quella piccola freccia rossa? Fai clic lì).
  2. Fai clic su "In questo file" per scansionare il documento che hai aperto. Puoi semplicemente accettare le impostazioni predefinite e fare clic su "OK" quando viene visualizzata la casella Riconosci testo. Acrobat converte l'immagine in testo utilizzabile; per provarlo, prova a modificare una parola o una frase con il pannello Modifica contenuto. Non è fantastico !?

Grazie, ma ho appena aperto il PDF in Reader DC e non ho fatto nulla di speciale, altri documenti PDF con pagine scansionate non funzionano in questo modo automaticamente ...
Vojtěch Dohnal

5
L'OCR è stato eseguito PRIMA di aver ricevuto il file, quando il testo viene riconosciuto, viene salvato insieme al pdf.
Máté Juhász,

@ VojtěchDohnal Probabilmente avrai bisogno di un acrobata completo, non solo del lettore
Thorbjørn Ravn Andersen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.