Estrazione Testo da PDF

Estrai il testo semplice da un PDF direttamente nel tuo browser — legge il livello di testo incorporato del documento, nessun caricamento, nessun OCR.

235 visualizzazioni

Cos'è Davvero il Livello di Testo di un PDF

Un PDF non è un'immagine di una pagina - almeno, non di solito. Quando un PDF viene prodotto da un word processor, una pagina web o un software di impaginazione, il contenuto della pagina viene memorizzato come una sequenza di istruzioni di disegno: "posiziona il glifo G alla posizione (x, y) usando il font F alla dimensione S," ripetuta per ogni carattere della pagina. Ognuna di queste istruzioni di posizionamento del glifo porta un riferimento alla tabella di codifica dei caratteri di un font, il che è ciò che permette al software di ricondurre la forma disegnata a un vero carattere Unicode anziché a una semplice immagine di esso. Questo strumento funziona caricando il PDF con la libreria open source pdf.js di Mozilla e chiamando la sua API getTextContent() su ogni pagina - fondamentalmente, questo legge direttamente quel flusso di istruzioni, senza mai renderizzare la pagina in pixel, quindi funziona anche su un dispositivo senza accelerazione grafica ed è quasi istantaneo rispetto al rendering.

Questo è fondamentalmente diverso da un PDF scansionato, che è ciò che si ottiene quando un documento cartaceo viene fotografato o passato in uno scanner e salvato come PDF - in quel caso la "pagina" è solo un'immagine JPEG o TIFF a piena pagina senza alcuna istruzione di glifo dietro di essa, perché nessun software ha mai saputo cosa dicesse il testo; ha solo catturato pixel. Chiamare getTextContent() su una pagina scansionata restituisce nulla, o quasi nulla, perché non c'è alcun livello di testo da leggere - l'informazione realmente non è presente nel file, allo stesso modo in cui non puoi selezionare testo su una pagina scansionata in un normale visualizzatore PDF. Recuperare testo da un documento scansionato richiede una tecnica completamente diversa, l'OCR (riconoscimento ottico dei caratteri), che analizza le forme dei pixel e indovina i caratteri; questo è un processo fondamentalmente diverso, molto più soggetto a errori, che questo strumento non esegue. Se il tuo PDF è una scansione, cerca invece uno strumento dedicato immagine-in-testo (OCR) - uno è previsto separatamente su questo sito.

Perché il Testo Estratto Può Uscire Fuori Ordine

Un problema più sottile riguarda anche i PDF che hanno un vero livello di testo: getTextContent() restituisce gli elementi di posizionamento dei glifi nell'ordine in cui sono stati originariamente disegnati quando il PDF è stato generato - non necessariamente l'ordine in cui un essere umano li leggerebbe. La maggior parte dei documenti semplici a colonna singola vengono disegnati dall'alto verso il basso, da sinistra a destra, corrispondendo all'ordine di lettura naturale, quindi l'estrazione appare corretta. Ma un esportatore PDF è libero di disegnare il contenuto in qualsiasi sequenza scelga, e molti non preservano l'ordine visivo: un articolo accademico a due colonne, un'impaginazione di rivista, una tabella, o un PDF con caselle di testo e didascalie possono facilmente avere il loro ordine di disegno intrecciato o completamente invertito rispetto a come si muoverebbe l'occhio di un lettore sulla pagina, perché la specifica definisce la posizione, non la sequenza di lettura. Questo strumento concatena gli elementi di ogni pagina nell'ordine in cui pdf.js li riporta e separa le pagine con un chiaro indicatore --- Pagina N --- così puoi vedere esattamente da quale pagina proviene ogni blocco e riordinare manualmente un risultato multi-colonna se necessario.

  • Nulla viene caricato: il PDF viene analizzato interamente lato client usando pdf.js in esecuzione nel tuo browser; il file non raggiunge mai il server di questo sito.
  • I PDF protetti da password non si apriranno - questo strumento non tenta di aggirare la crittografia o i permessi del PDF.
  • La spaziatura estratta può differire dall'impaginazione visiva - le tabelle in particolare vengono spesso estratte come una sequenza piatta di valori di celle anziché una griglia formattata, poiché il PDF non ha un concetto nativo di "tabella" come lo ha l'HTML.
  • I documenti multi-pagina ricevono indicatori di pagina così puoi capire dove finisce il contenuto di una pagina e inizia quello successivo, poiché le pagine PDF sono altrimenti flussi di contenuto indipendenti senza un'interruzione di paragrafo intrinseca tra loro.

Domande Frequenti

Perché ho ottenuto un risultato vuoto o quasi vuoto?

Il tuo PDF è molto probabilmente un'immagine scansionata - una fotografia o scansione di una pagina cartacea salvata come PDF senza testo incorporato, solo un'immagine. Questo strumento legge direttamente il livello di testo del PDF e non esegue OCR (riconoscimento ottico dei caratteri), quindi una pagina scansionata senza livello di testo non restituisce nulla da leggere.

Perché il testo estratto è fuori ordine in un PDF a due colonne?

Il PDF memorizza il contenuto come istruzioni di disegno nella sequenza scelta dal software esportatore, che non è garantito corrispondere all'ordine di lettura visivo. Un'impaginazione a due colonne, una tabella o una pagina in stile rivista possono intrecciare il testo di entrambe le colonne perché il formato del file definisce le posizioni dei glifi, non una sequenza di lettura.

Questo strumento esegue OCR sui documenti scansionati?

No. Questo strumento legge solo il livello di testo incorporato già esistente di un PDF tramite l'API getTextContent() di pdf.js - non analizza i pixel né riconosce i caratteri in un'immagine. Per i documenti scansionati senza livello di testo, uno strumento immagine-in-testo (OCR) è una tecnologia separata e diversa.

Il mio PDF viene caricato su un server?

No - l'intera estrazione avviene nel tuo browser usando la libreria open source pdf.js. Il file viene letto localmente tramite la File API e non viene mai trasmesso da nessuna parte.

Perché l'output ha indicatori "--- Pagina N ---"?

Ogni pagina PDF è un flusso di contenuto separato con i propri elementi di testo e nessuna connessione intrinseca con la pagina successiva. Gli indicatori di pagina chiariscono dove finisce il testo estratto di una pagina e inizia quello successivo, il che conta per i documenti in cui paragrafi o frasi continuano oltre un'interruzione di pagina.

Commenti

Ancora nessun commento — scrivi il primo!

Strumenti Simili