खोज योग्य PDFs बनाने के लिए ओपन सोर्स OCR जावास्क्रिप्ट API
एक प्रमुख जावास्क्रिप्ट OCR लाइब्रेरी जो खोज योग्य PDFs बनाती है और OCR (ऑप्टिकल कैरेक्टर रिकग्निशन) करती है तथा इमेज (PNG, JPEG) और PDF फ़ाइलों दोनों से टेक्स्ट निकालती है।
Scribe.js क्या है?
आज की डिजिटल दुनिया में, मूल्यवान जानकारी की बड़ी मात्रा छवियों के भीतर फँसी होती है—त्रुटि संदेशों के स्क्रीनशॉट, दस्तावेज़ों की फ़ोटोग्राफ़, प्रस्तुति की स्लाइड्स, या यहाँ तक कि चतुर टेक्स्ट वाले मीम्स। इस टेक्स्ट को मैन्युअल रूप से ट्रांसक्राइब करना थकाऊ और त्रुटिपूर्ण प्रक्रिया है। यहीं पर ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) तकनीक मदद करती है, और Scribe.js आपके वेब प्रोजेक्ट्स में इसे एकीकृत करने के सबसे डेवलपर‑फ्रेंडली तरीकों में से एक प्रदान करता है। Scribe.js एक ओपन‑सोर्स जावास्क्रिप्ट लाइब्रेरी है जो OCR करता है और छवियों तथा PDF फ़ाइलों दोनों से टेक्स्ट निकालता है। कई OCR समाधान जो बैकएंड प्रोसेसिंग या बाहरी API कॉल की आवश्यकता रखते हैं, उनके विपरीत, Scribe.js पूरी तरह क्लाइंट साइड पर चलता है, जिससे आपको अपने डेटा पर पूर्ण नियंत्रण मिलता है और टेक्स्ट पहचान कार्यों के लिए सर्वर लागत समाप्त हो जाती है।
Scribe.js एक हल्का JavaScript क्लाइंट है Google Cloud Vision API के लिए। सभी OCR ऑपरेशन सीधे उपयोगकर्ता के ब्राउज़र या आपके Node.js वातावरण में होते हैं, जिससे गोपनीयता बनी रहती है और सर्वर इन्फ्रास्ट्रक्चर लागत कम होती है। लाइब्रेरी में विभिन्न सुविधाओं का समर्थन शामिल है, जैसे कि आपकी छवियों को प्री‑प्रोसेस करना, छवियों के लिए एकीकृत वर्कफ़्लो, स्वचालित डिटेक्शन, PDF लेयरिंग, कम‑विश्वासनीय पृष्ठों को फ़िल्टर करना, OCR इंजन को कैश करना आदि। लाइब्रेरी आधुनिक JavaScript ESM (ECMAScript Modules) का उपयोग करके बनाई गई है, जिससे इसे समकालीन वेब विकास वर्कफ़्लो में जटिल बिल्ड कॉन्फ़िगरेशन की आवश्यकता के बिना आसानी से एकीकृत किया जा सकता है। यह डेवलपर‑पहला दृष्टिकोण मतलब आप कुछ ही पंक्तियों के कोड से दस्तावेज़ों से टेक्स्ट निकालना शुरू कर सकते हैं।
Scribe.js के साथ शुरुआत
Scribe.js को स्थापित करने का अनुशंसित तरीका npm का उपयोग करना है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड का उपयोग करें।
npm के माध्यम से Scribe.js स्थापित करें
npm install scribe.js-ocr आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉजिटरी से डाउनलोड करें।
छवियों से पाठ पहचान
Scribe.js लाइब्रेरी का सबसे बुनियादी उपयोग केस इमेज फ़ाइलों से टेक्स्ट निकालना है। लाइब्रेरी विभिन्न इमेज फ़ॉर्मेट्स को संभालती है और एक ही ऑपरेशन में एकल इमेज और कई इमेजों के बैच दोनों को प्रोसेस कर सकती है। यहाँ एक बुनियादी उदाहरण है जो जावास्क्रिप्ट ऐप्स के भीतर इमेज URL से टेक्स्ट एक्सट्रैक्शन दर्शाता है। यह स्निपेट Scribe.js द्वारा प्रदान किए गए सरल API को दिखाता है। extractText मेथड इमेज URL की एक एरे लेता है और एक Promise लौटाता है जो पहचाने गए टेक्स्ट के साथ रिजॉल्व होता है।
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);
});
जावास्क्रिप्ट के माध्यम से खोज योग्य PDF बनाएं
Scribe.js की सबसे शक्तिशाली विशेषताओं में से एक है मौजूदा PDF फ़ाइलों में अदृश्य टेक्स्ट लेयर जोड़ने की क्षमता। यह कार्यक्षमता इमेज-आधारित PDFs को उनके दृश्य स्वरूप को बदले बिना खोज योग्य दस्तावेज़ों में बदल देती है। जब PDF में टेक्स्ट लेयर जोड़ी जाती है, तो उपयोगकर्ता दस्तावेज़ के भीतर विशिष्ट शब्दों या वाक्यांशों की खोज कर सकते हैं, जो इमेज जैसा दिखता है उससे टेक्स्ट को चयनित और कॉपी कर सकते हैं, स्कैन किए गए दस्तावेज़ों के साथ स्क्रीन रीडर और एक्सेसिबिलिटी टूल्स का उपयोग कर सकते हैं, सर्च इंजनों और दस्तावेज़ प्रबंधन प्रणालियों द्वारा इंडेक्सिंग सक्षम कर सकते हैं आदि।
JavaScript लाइब्रेरी के माध्यम से खोज योग्य PDF दस्तावेज़ कैसे बनाएं?
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;
}
}
JS के माध्यम से उन्नत दस्तावेज़ पाठ पहचान
दस्तावेज़ों की घनी पाठ और जटिल लेआउट (जैसे स्कैन किया गया पुस्तक पृष्ठ या PDF निर्यात) की छवियों के लिए, Scribe.js लाइब्रेरी "Document Text Detection" सुविधा प्रदान करती है। यह पैराग्राफ, शब्द, और ब्रेक डिटेक्टर्स सहित अधिक समृद्ध जानकारी देती है, जो मूल दस्तावेज़ की संरचना को बनाए रखने में मदद करती है। यह उन अनुप्रयोगों के लिए अत्यंत उपयोगी है जहाँ स्रोत सामग्री का लेआउट और संरचना महत्वपूर्ण होती है, जैसे फ़ॉर्म, चालान, या बहु-स्तंभ लेआउट को प्रोसेस करना।
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);
});
जावास्क्रिप्ट के माध्यम से कई फ़ाइलों की बैच प्रोसेसिंग
वास्तविक दुनिया के अनुप्रयोगों में, सॉफ़्टवेयर पेशेवरों को अक्सर कई दस्तावेज़ों को एक साथ प्रोसेस करने की आवश्यकता होती है। Scribe.js बॉक्स से ही बैच प्रोसेसिंग का समर्थन करता है, जिससे उपयोगकर्ता एक ही ऑपरेशन में कई छवियों या PDFs से टेक्स्ट निकाल सकते हैं JavaScript एप्लिकेशन के भीतर। निम्नलिखित उदाहरण दर्शाता है कि सॉफ़्टवेयर डेवलपर्स JavaScript कमांड्स का उपयोग करके दस्तावेज़ों के बैच को कैसे प्रोसेस कर सकते हैं।
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');
});