Nyílt forráskódú OCR JavaScript API kereshető PDF-ek létrehozásához
Vezető JavaScript OCR könyvtár kereshető PDF-ek létrehozásához, amely OCR-t (Optikai karakterfelismerés) végez, és szöveget nyer ki mind képekből (PNG, JPEG), mind PDF-fájlokból.
Mi az a Scribe.js?
A mai digitális világban hatalmas mennyiségű értékes információ rekedt a képekben – hibajelzések képernyőképei, dokumentumok fényképei, egy prezentáció diái, vagy akár okos szöveggel ellátott mémek. Ennek a szövegnek a kézi átírása fáradságos és hibára hajlamos folyamat. Itt jön képbe az optikai karakterfelismerés (OCR) technológia, és a Scribe.js az egyik legfejlesztőbarátabb módot kínálja, hogy beépítsük azt webes projektjeinkbe. A Scribe.js egy nyílt forráskódú JavaScript könyvtár, amely OCR-t hajt végre, és szöveget nyer ki képekből és PDF-fájlokból egyaránt. A sok OCR megoldással ellentétben, amelyek backend feldolgozást vagy külső API hívásokat igényelnek, a Scribe.js teljesen a kliens oldalon fut, így teljes kontrollt ad az adatok felett, és megszünteti a szerverköltségeket a szövegfelismerési feladatokhoz.
A Scribe.js egy könnyű JavaScript kliens a Google Cloud Vision API-hoz. Minden OCR művelet közvetlenül a felhasználó böngészőjében vagy a Node.js környezetedben történik, biztosítva a magánszférát és csökkentve a szerver infrastruktúra költségeit. A könyvtár támogatja a különféle funkciókat, például a képek előfeldolgozását, egységes munkafolyamatot a képekhez, automatikus detektálást, PDF rétegezést, alacsony bizalmi szintű oldalak kiszűrését, OCR motorok gyorsítótárazását és így tovább. A könyvtár modern JavaScript ESM (ECMAScript Modules) használatával készült, ami egyszerűvé teszi a beillesztést a korszerű webfejlesztési munkafolyamatokba anélkül, hogy összetett build konfigurációkra lenne szükség. Ez a fejlesztőközpontú megközelítés azt jelenti, hogy néhány sor kóddal már elkezdheted a szöveg kinyerését a dokumentumokból.
A Scribe.js használatának megkezdése
A Scribe.js telepítésének ajánlott módja az npm használata. Kérlek, használd a következő parancsot a zökkenőmentes telepítéshez.
Telepítse a Scribe.js-t npm-en keresztül
npm install scribe.js-ocr Telepítheted manuálisan is; töltsd le a legújabb kiadási fájlokat közvetlenül a GitHub tárolóból.
Szövegfelismerés képekből
A Scribe.js könyvtár legfontosabb felhasználási esete a szöveg kinyerése képfájlokból. A könyvtár különböző képformátumokat kezel, és képes egyszerre egyetlen képet vagy több képből álló kötegelt feldolgozni. Itt egy alapvető példa, amely bemutatja a szöveg kinyerését egy képadresszből JavaScript alkalmazásokban. A kódrészlet a Scribe.js által biztosított egyszerű API-t mutatja be. Az extractText metódus egy képadresszek tömbjét fogadja, és egy Promise-t ad vissza, amely a felismert szöveggel teljesül.
Hogyan lehet szöveget kinyerni egy képből JavaScript könyvtár segítségével?
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);
});
Kereshető PDF-ek létrehozása JavaScript segítségével
A Scribe.js egyik legnagyobb teljesítményű funkciója, hogy képes láthatatlan szövegrétegeket hozzáadni meglévő PDF-fájlokhoz. Ez a funkció a képalapú PDF-eket kereshető dokumentumokká alakítja át anélkül, hogy megváltoztatná a megjelenésüket. Amikor egy szövegréteg kerül hozzáadásra egy PDF-hez, a felhasználók kereshetnek konkrét szavakat vagy kifejezéseket a dokumentumban, kijelölhetik és másolhatják a szöveget, amely látszólag egy kép, használhatnak képernyőolvasókat és akadálymentesítő eszközöket a beolvasott dokumentumokkal, lehetővé tehetik a keresőmotorok és dokumentumkezelő rendszerek általi indexelést, stb.
Hogyan hozhatunk létre kereshető PDF dokumentumokat JavaScript könyvtár segítségével?
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;
}
}
Fejlett dokumentum szövegfelismerés JS segítségével
Dokumentumok sűrű szöveggel és összetett elrendezéssel (például beolvasott könyvlap vagy PDF export) rendelkező képeire a Scribe.js könyvtár egy "Document Text Detection" (Dokumentum Szövegfelismerés) funkciót kínál. Ez sokkal gazdagabb információkat biztosít, beleértve a bekezdés-, szó- és sortörés-észlelőket, amelyek segítenek megőrizni az eredeti dokumentum szerkezetét. Ez rendkívül hasznos olyan alkalmazásoknál, ahol a forrásanyag elrendezése és szerkezete fontos, például űrlapok, számlák vagy többoszlopos elrendezések feldolgozásánál.
Hogyan végezhetünk fejlett szövegfelismerést JavaScript alkalmazásokban?
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);
});
Tömeges feldolgozás több fájlra JavaScript használatával
A valós alkalmazásokban a szoftverfejlesztőknek gyakran több dokumentumot kell egyszerre feldolgozniuk. A Scribe.js alapból támogatja a kötegelt feldolgozást, lehetővé téve a felhasználók számára, hogy egyetlen műveletben szöveget nyerjenek ki több képből vagy PDF-ből egy JavaScript alkalmazáson belül. Az alábbi példa bemutatja, hogyan dolgozhatnak fel a szoftverfejlesztők dokumentumköteget JavaScript parancsokkal.
Hogyan dolgozhatunk fel egy dokumentumcsoportot JavaScript könyvtár használatával?
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');
});