Atvērtā koda OCR JavaScript API, lai izveidotu meklējamus PDF
Vadoša JavaScript OCR bibliotēka, lai izveidotu meklējamus PDF, veic OCR (optisko rakstzīmju atpazīšanu) un izvelk tekstu gan no attēliem (PNG, JPEG), gan no PDF failiem.
Kas ir Scribe.js?
Mūsdienu digitālajā pasaulē milzīgs daudzums vērtīgas informācijas ir iesprostots attēlos — kļūdu ziņojumu ekrānuzņēmumos, dokumentu fotogrāfijās, prezentācijas slaidos vai pat memēs ar asprātīgu tekstu. Manuāli pārrakstīt šo tekstu ir garlaicīgs un kļūdains process. Šeit optiskās rakstzīmju atpazīšanas (OCR) tehnoloģija nāk palīgā, un Scribe.js piedāvā vienu no visizstrādātājiem draudzīgākajiem veidiem, kā to integrēt jūsu tīmekļa projektos. Scribe.js ir atvērtā koda JavaScript bibliotēka, kas veic OCR un izvelk tekstu gan no attēliem, gan no PDF failiem. Atšķirībā no daudziem OCR risinājumiem, kas prasa servera apstrādi vai ārējas API izsaukumus, Scribe.js darbojas pilnīgi klienta pusē, sniedzot jums pilnīgu kontroli pār datiem un likvidējot servera izmaksas teksta atpazīšanas uzdevumiem.
Scribe.js ir viegls JavaScript klients Google Cloud Vision API. Visas OCR operācijas notiek tieši lietotāja pārlūkā vai jūsu Node.js vidē, nodrošinot privātumu un samazinot servera infrastruktūras izmaksas. Bibliotēka ietver atbalstu dažādām funkcijām, piemēram, attēlu priekšapstrādei, vienotai attēlu darba plūsmai, automātiskai noteikšanai, PDF slāņošanai, zemas pārliecības lapu filtrēšanai, OCR dzinēju kešatmiņai utt. Bibliotēka ir izveidota, izmantojot modernu JavaScript ESM (ECMAScript Modules), kas ļauj vienkārši integrēt to mūsdienīgās tīmekļa izstrādes darba plūsmās, neprasot sarežģītas būvēšanas konfigurācijas. Šī izstrādātāju‑pirmā pieeja nozīmē, ka varat sākt izvilkt tekstu no dokumentiem ar tikai dažām koda rindām.
Sākšana ar Scribe.js
Ieteicamais veids, kā instalēt Scribe.js, ir izmantojot npm. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalāciju
Instalējiet Scribe.js, izmantojot npm
npm install scribe.js-ocr Jūs varat arī instalēt to manuāli; lejupielādējiet jaunākos izlaiduma failus tieši no GitHub krātuves.
Teksta atpazīšana no attēliem
Vispamatīgākais Scribe.js bibliotēkas lietošanas gadījums ir teksta izguve no attēlu failiem. Bibliotēka apstrādā dažādus attēlu formātus un var apstrādāt gan atsevišķus attēlus, gan vairāku attēlu partijas vienā operācijā. Šeit ir pamata piemērs, kas demonstrē teksta izguvi no attēla URL JavaScript lietotnēs. Šis koda fragments parāda vienkāršo API, ko nodrošina Scribe.js. extractText metode pieņem attēlu URL masīvu un atgriež Promise, kas izpildās ar atpazīto tekstu.
Kā izvilkt tekstu no attēla, izmantojot JavaScript bibliotēku?
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);
});
Izveidojiet meklējamus PDF failus, izmantojot JavaScript
Viena no Scribe.js spēcīgākajām funkcijām ir spēja pievienot neuzredzamus teksta slāņus esošajiem PDF failiem. Šī funkcionalitāte pārveido uz attēliem balstītus PDF par meklējamiem dokumentiem, nemainot to vizuālo izskatu. Kad PDF tiek pievienots teksta slānis, lietotāji var meklēt konkrētus vārdus vai frāzes dokumentā, izvēlēties un kopēt tekstu no tā, kas izskatās kā attēls, izmantot ekrāna lasītājus un pieejamības rīkus ar skenētiem dokumentiem, ļaut meklētājprogrammu un dokumentu pārvaldības sistēmu indeksēšanu utt.
Kā izveidot meklējamus PDF dokumentus, izmantojot JavaScript bibliotēku?
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;
}
}
Uzlabota dokumenta teksta noteikšana, izmantojot JS
Attēliem no dokumentiem ar blīvu tekstu un sarežģītām izkārtojumiem (piemēram, skenēta grāmatas lapa vai PDF eksports), Scribe.js bibliotēka piedāvā funkciju "Document Text Detection". Tas nodrošina daudz bagātīgāku informāciju, ieskaitot rindkopu, vārdu un pārtraukumu noteicējus, kas palīdz saglabāt sākotnējā dokumenta struktūru. Tas ir ārkārtīgi noderīgi lietojumprogrammām, kurās izkārtojums un avota materiāla struktūra ir svarīga, piemēram, veicot formu, rēķinu vai daudzkolonu izkārtojumu apstrādi.
Kā veikt uzlabotu teksta noteikšanu JavaScript lietotnēs?
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);
});
Masveida apstrāde vairākiem failiem, izmantojot JavaScript
Reālās pasaules lietojumprogrammās programmatūras profesionāļiem bieži jāapstrādā vairāki dokumenti vienlaicīgi. Scribe.js jau no sākuma atbalsta grupas apstrādi, ļaujot lietotājiem izvilkt tekstu no vairākiem attēliem vai PDF failiem vienā darbībā JavaScript lietojumprogrammā. Zemāk esošais piemērs demonstrē, kā programmatūras izstrādātāji var apstrādāt dokumentu grupu, izmantojot JavaScript komandas.
Kā apstrādāt dokumentu partiju, izmantojot JavaScript bibliotēku?
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');
});