API OCR JavaScript Open Source per Creare PDF Ricercabili
Una delle principali librerie OCR JavaScript per creare PDF ricercabili ed eseguire OCR (Riconoscimento Ottico dei Caratteri) estraendo testo sia da immagini (PNG, JPEG) che da file PDF.
Cos'è Scribe.js?
Nell'era digitale odierna, una quantità enorme di informazioni preziose è intrappolata all'interno delle immagini—screenshot di messaggi di errore, fotografie di documenti, diapositive di una presentazione o persino meme con testo ingegnoso. Trascrivere manualmente questo testo è un processo noioso e soggetto a errori. È qui che la tecnologia di Riconoscimento Ottico dei Caratteri (OCR) entra in soccorso, e Scribe.js offre uno dei modi più user‑friendly per integrarla nei tuoi progetti web. Scribe.js è una libreria JavaScript open‑source che esegue OCR ed estrae testo sia da immagini sia da file PDF. A differenza di molte soluzioni OCR che richiedono elaborazione backend o chiamate API esterne, Scribe.js funziona interamente sul lato client, offrendoti il pieno controllo sui dati ed eliminando i costi del server per le attività di riconoscimento del testo.
Scribe.js è un client JavaScript leggero per l'API Google Cloud Vision. Tutte le operazioni OCR avvengono direttamente nel browser dell'utente o nel tuo ambiente Node.js, garantendo privacy e riducendo i costi dell'infrastruttura server. La libreria include il supporto per varie funzionalità, come la preelaborazione delle immagini, flusso di lavoro unificato per le immagini, rilevamento automatico, stratificazione PDF, filtraggio delle pagine a bassa confidenza, caching dei motori OCR e così via. La libreria è costruita usando moderni JavaScript ESM (ECMAScript Modules), rendendo semplice l'integrazione nei flussi di lavoro di sviluppo web contemporanei senza richiedere configurazioni di build complesse. Questo approccio orientato allo sviluppatore significa che puoi iniziare a estrarre testo dai documenti con poche righe di codice.
Iniziare con Scribe.js
Il modo consigliato per installare Scribe.js è utilizzare npm. Per favore usa il comando seguente per un'installazione fluida
Installa Scribe.js via npm
npm install scribe.js-ocr Puoi anche installarlo manualmente; scarica i file dell'ultima release direttamente dal repository GitHub.
Riconoscimento del testo dalle immagini
Il caso d'uso più fondamentale della libreria Scribe.js è l'estrazione di testo da file immagine. La libreria gestisce vari formati di immagine e può elaborare sia singole immagini sia batch di più immagini in un'unica operazione. Ecco un esempio base che dimostra l'estrazione di testo da un URL di immagine all'interno di applicazioni JavaScript. Lo snippet mostra l'API semplice fornita da Scribe.js. Il metodo extractText accetta un array di URL di immagini e restituisce una Promise che si risolve con il testo riconosciuto.
Come estrarre testo da un'immagine tramite libreria JavaScript?
import scribe from 'scribe.js-ocr';
// Extract text from a single image
scribe.extractText(['https://example.com/sample-image.png'])
.then((result) => {
console.log('Extracted text:', result);
})
.catch((error) => {
console.error('OCR failed:', error);
});
Crea PDF ricercabili tramite JavaScript
Una delle funzionalità più potenti di Scribe.js è la sua capacità di aggiungere livelli di testo invisibili ai file PDF esistenti. Questa funzionalità trasforma i PDF basati su immagini in documenti ricercabili senza alterare il loro aspetto visivo. Quando un livello di testo viene aggiunto a un PDF, gli utenti possono cercare parole o frasi specifiche all'interno del documento, selezionare e copiare il testo da quello che sembra un'immagine, utilizzare lettori di schermo e strumenti di accessibilità con documenti scansionati, abilitare l'indicizzazione da parte dei motori di ricerca e dei sistemi di gestione documentale e così via.
Come creare documenti PDF ricercabili tramite libreria JavaScript?
import scribe from 'scribe.js-ocr';
// Add searchable text layer to an image-based PDF
async function makeSearchablePDF(inputPdfUrl) {
try {
// First, perform OCR on the PDF
const ocrResult = await scribe.extractText([inputPdfUrl]);
// Then create a new PDF with the text layer embedded
const searchablePdf = await scribe.createSearchablePDF(
inputPdfUrl,
ocrResult
);
// The resulting PDF maintains the original appearance
// but now contains selectable, searchable text
return searchablePdf;
} catch (error) {
console.error('Failed to create searchable PDF:', error);
throw error;
}
}
Rilevamento avanzato del testo nei documenti tramite JS
Per le immagini di documenti con testo denso e layout complessi (come una pagina di libro scansionata o un'esportazione PDF), la libreria Scribe.js offre una funzionalità "Document Text Detection". Questo fornisce informazioni molto più ricche, inclusi rilevatori di paragrafi, parole e interruzioni, che aiutano a preservare la struttura del documento originale. È estremamente utile per applicazioni in cui il layout e la struttura del materiale di origine sono importanti, come l'elaborazione di moduli, fatture o layout a più colonne.
Come eseguire il rilevamento avanzato del testo all'interno di app JavaScript?
const Scribe = require('scribejs');
const serviceAccountKey = require('./path-to-your-key.json');
const scribe = new Scribe(serviceAccountKey);
const documentImageUrl = 'https://example.com/scanned-invoice.png';
// Use the `documentText` method for advanced detection
scribe.documentText(documentImageUrl)
.then(fullTextAnnotation => {
// The fullTextAnnotation object contains detailed data
console.log('Full Document Text:');
console.log(fullTextAnnotation.text); // The plain text of the entire document
// You can also iterate through pages, blocks, paragraphs, and words
fullTextAnnotation.pages.forEach(page => {
page.blocks.forEach(block => {
console.log('\nBlock Confidence:', block.confidence);
block.paragraphs.forEach(paragraph => {
console.log(paragraph.text);
});
});
});
})
.catch(error => {
console.error('Document OCR Error:', error);
});
Elaborazione batch di più file tramite JavaScript
Nelle applicazioni reali, i professionisti del software spesso devono elaborare più documenti contemporaneamente. Scribe.js supporta l'elaborazione batch fin da subito, consentendo agli utenti di estrarre testo da più immagini o PDF in un'unica operazione all'interno di un'applicazione JavaScript. L'esempio seguente dimostra come gli sviluppatori possano elaborare un batch di documenti usando comandi JavaScript.
Come elaborare un batch di documenti usando una libreria JavaScript?
import scribe from 'scribe.js-ocr';
// Process multiple documents at once
async function batchProcess(fileUrls) {
try {
// Pass an array of URLs to process multiple files
const results = await scribe.extractText(fileUrls);
// Results are returned in the same order as input
results.forEach((text, index) => {
console.log(`Document ${index + 1} text:`, text);
});
return results;
} catch (error) {
console.error('Batch processing failed:', error);
throw error;
}
}
// Process a batch of documents
const documents = [
'https://example.com/receipt1.jpg',
'https://example.com/receipt2.jpg',
'https://example.com/invoice.pdf'
];
batchProcess(documents)
.then(allText => {
console.log('All documents processed successfully');
});