API OCR בקוד פתוח ב-JavaScript ליצירת PDF ניתנים לחיפוש
ספריית OCR מובילה ב-JavaScript ליצירת PDF ניתנים לחיפוש ומבצעת OCR (זיהוי תווים אופטי) ומחלצת טקסט משתי תמונות (PNG, JPEG) וקבצי PDF.
מהו Scribe.js?
בעולם הדיגיטלי של היום, כמות עצומה של מידע יקר ערך נלכדת בתוך תמונות—צילומי מסך של הודעות שגיאה, צילומים של מסמכים, שקופיות מהצגה, או אפילו ממים עם טקסט חכם. תעתיק ידני של טקסט זה הוא תהליך מייגע ושגוי. כאן טכנולוגיית זיהוי תווים אופטי (OCR) נכנסת לתמונה, ו‑Scribe.js מציעה אחת מהשיטות הידידותיות למפתחים ביותר לשילובה בפרויקטים שלכם ברשת. Scribe.js היא ספריית JavaScript בקוד פתוח שמבצעת OCR ומחלצת טקסט הן מתמונות והן מקבצי PDF. בניגוד לרבות פתרונות OCR הדורשים עיבוד צד שרת או קריאות API חיצוניות, Scribe.js פועלת לחלוטין בצד הלקוח, מה שמעניק לכם שליטה מלאה על הנתונים ומבטל עלויות שרת עבור משימות זיהוי טקסט.
Scribe.js הוא לקוח JavaScript קל משקל ל-API של Google Cloud Vision. כל פעולות ה-OCR מתבצעות ישירות בדפדפן של המשתמש או בסביבת Node.js שלך, מה שמבטיח פרטיות ומפחית עלויות תשתית השרת. הספרייה כוללת תמיכה במגוון תכונות, כגון קדם-עיבוד של התמונות שלך, זרימת עבודה מאוחדת לתמונות, זיהוי אוטומטי, שכבות PDF, סינון דפים בעלי אמון נמוך, שמירת מנועי OCR במטמון ועוד. הספרייה נבנתה באמצעות מודולי JavaScript מודרניים (ESM – ECMAScript Modules), מה שהופך אותה לשילוב פשוט בתהליכי פיתוח ווב עכשוויים ללא צורך בתצורות בנייה מורכבות. גישה זו שממוקדת במפתחים מאפשרת לך להתחיל לחלץ טקסט ממסמכים עם רק כמה שורות קוד.
התחלה עם Scribe.js
הדרך המומלצת להתקנת Scribe.js היא באמצעות npm. אנא השתמשו בפקודה הבאה להתקנה חלקה
התקן את Scribe.js באמצעות npm
npm install scribe.js-ocr אתם יכולים גם להתקין זאת ידנית; הורידו את קבצי השחרור האחרונים ישירות ממאגר GitHub.
זיהוי טקסט מתמונות
המקרה הבסיסי ביותר לשימוש בספריית Scribe.js הוא חילוץ טקסט מקבצי תמונה. הספרייה תומכת בפורמטים שונים של תמונות ויכולה לעבד הן תמונות בודדות והן קבוצות של תמונות מרובות בפעולה אחת. הנה דוגמה בסיסית שמדגימה חילוץ טקסט מכתובת URL של תמונה בתוך אפליקציות JavaScript. הקטע מציג את ה-API הפשוט שה‑Scribe.js מספק. המתודה 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 ניתנים לחיפוש באמצעות JavaScript
אחת התכונות החזקות ביותר של Scribe.js היא היכולת שלה להוסיף שכבות טקסט בלתי נראות לקבצי PDF קיימים. פונקציונליות זו ממירה קבצי PDF מבוססי תמונה למסמכים שניתן לחפש בהם ללא שינוי המראה החזותי שלהם. כאשר מוסיפים שכבת טקסט ל‑PDF, המשתמשים יכולים לחפש מילים או ביטויים ספציפיים בתוך המסמך, לבחור ולהעתיק טקסט ממה שנראה כתמונה, להשתמש בקוראי מסך ובכלי נגישות עם מסמכים סרוקים, לאפשר אינדוקס על ידי מנועי חיפוש ומערכות ניהול מסמכים וכן הלאה.
איך ליצור מסמכי PDF ניתנים לחיפוש באמצעות ספריית 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;
}
}
זיהוי טקסט מתקדם במסמכים באמצעות JS
לתמונות של מסמכים עם טקסט צפוף ועיצובים מורכבים (כמו דף ספר סרוק או ייצוא PDF), ספריית Scribe.js מציעה תכונת "זיהוי טקסט במסמך". תכונה זו מספקת מידע עשיר הרבה יותר, כולל גלאי פסקאות, מילים והפסקות, מה שעוזר לשמר את מבנה המסמך המקורי. זה שימושי במיוחד עבור יישומים שבהם העיצוב והמבנה של החומר המקורי חשובים, כגון עיבוד טפסים, חשבוניות או פריסות מרובות עמודות.
איך לבצע זיהוי טקסט מתקדם בתוך אפליקציות 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);
});
עיבוד אצווה של קבצים מרובים באמצעות JavaScript
ביישומים בעולם האמיתי, מקצועני תוכנה לעיתים קרובות צריכים לעבד מספר מסמכים במקביל. Scribe.js תומכת בעיבוד אצווה כבר מההתחלה, מאפשרת למשתמשים לחלץ טקסט ממספר תמונות או קבצי PDF בפעולה אחת בתוך יישום 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');
});