Open-Source-OCR-JavaScript-API zum Erstellen durchsuchbarer PDFs
Eine führende JavaScript-OCR-Bibliothek zum Erstellen durchsuchbarer PDFs, die OCR (Optische Zeichenerkennung) durchführt und Text aus sowohl Bildern (PNG, JPEG) als auch PDF-Dateien extrahiert.
Was ist Scribe.js?
In der heutigen digitalen Welt ist eine enorme Menge wertvoller Informationen in Bildern gefangen – Screenshots von Fehlermeldungen, Fotos von Dokumenten, Folien einer Präsentation oder sogar Memes mit cleverem Text. Das manuelle Abschreiben dieses Textes ist ein mühsamer und fehleranfälliger Prozess. Hier kommt die Technologie der optischen Zeichenerkennung (OCR) zur Rettung, und Scribe.js bietet eine der entwicklerfreundlichsten Möglichkeiten, sie in Ihre Webprojekte zu integrieren. Scribe.js ist eine Open-Source-JavaScript-Bibliothek, die OCR durchführt und Text sowohl aus Bildern als auch aus PDF-Dateien extrahiert. Im Gegensatz zu vielen OCR-Lösungen, die eine Backend-Verarbeitung oder externe API-Aufrufe erfordern, läuft Scribe.js vollständig auf der Clientseite, gibt Ihnen die vollständige Kontrolle über Ihre Daten und eliminiert Serverkosten für Texterkennungsaufgaben.
Scribe.js ist ein leichtgewichtiges JavaScript-Client für die Google Cloud Vision API. Alle OCR‑Operationen erfolgen direkt im Browser des Benutzers oder in Ihrer Node.js‑Umgebung, was die Privatsphäre gewährleistet und die Kosten für Serverinfrastruktur reduziert. Die Bibliothek enthält Unterstützung für verschiedene Funktionen, wie das Vorverarbeiten Ihrer Bilder, einen einheitlichen Workflow für Bilder, automatische Erkennung, PDF‑Schichtung, das Herausfiltern von Seiten mit niedriger Vertrauenswürdigkeit, das Zwischenspeichern von OCR‑Engines und vieles mehr. Die Bibliothek ist mit modernem JavaScript ESM (ECMAScript Modules) gebaut, was die Integration in zeitgemäße Web‑Entwicklungs‑Workflows erleichtert, ohne komplexe Build‑Konfigurationen zu benötigen. Dieser entwickler‑zuerst‑Ansatz bedeutet, dass Sie mit nur wenigen Codezeilen Text aus Dokumenten extrahieren können.
Erste Schritte mit Scribe.js
Der empfohlene Weg, Scribe.js zu installieren, ist die Verwendung von npm. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
Installieren Sie Scribe.js über npm
npm install scribe.js-ocr Sie können es auch manuell installieren; laden Sie die neuesten Release‑Dateien direkt aus dem GitHub-Repository herunter.
Texterkennung aus Bildern
Der grundlegendste Anwendungsfall der Scribe.js-Bibliothek ist das Extrahieren von Text aus Bilddateien. Die Bibliothek unterstützt verschiedene Bildformate und kann sowohl einzelne Bilder als auch Stapel mehrerer Bilder in einem Vorgang verarbeiten. Hier ist ein einfaches Beispiel, das die Textextraktion aus einer Bild-URL in JavaScript‑Apps demonstriert. Das Snippet zeigt die unkomplizierte API, die Scribe.js bereitstellt. Die Methode extractText akzeptiert ein Array von Bild-URLs und gibt ein Promise zurück, das mit dem erkannten Text aufgelöst wird.
Wie extrahiert man Text aus einem Bild mit einer JavaScript-Bibliothek?
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);
});
Erstelle durchsuchbare PDFs mit JavaScript
Eine der leistungsstärksten Funktionen von Scribe.js ist die Möglichkeit, unsichtbare Textebenen zu bestehenden PDF‑Dateien hinzuzufügen. Diese Funktion verwandelt bildbasierte PDFs in durchsuchbare Dokumente, ohne ihr visuelles Erscheinungsbild zu verändern. Wenn einer PDF‑Datei eine Textebene hinzugefügt wird, können Benutzer nach bestimmten Wörtern oder Phrasen im Dokument suchen, Text aus scheinbaren Bildern auswählen und kopieren, Bildschirmleser und Barrierefreiheits‑Tools mit gescannten Dokumenten verwenden, die Indexierung durch Suchmaschinen und Dokumenten‑Management‑Systeme ermöglichen und so weiter.
Wie erstellt man durchsuchbare PDF-Dokumente mit einer JavaScript-Bibliothek?
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;
}
}
Erweiterte Dokumententexterkennung mit JS
Für Bilder von Dokumenten mit dichtem Text und komplexen Layouts (wie einer gescannten Buchseite oder einem PDF-Export) bietet die Scribe.js-Bibliothek die Funktion "Document Text Detection". Diese liefert wesentlich reichhaltigere Informationen, einschließlich Absatz-, Wort- und Zeilenumbruch-Erkennungen, die dabei helfen, die Struktur des Originaldokuments zu erhalten. Das ist äußerst nützlich für Anwendungen, bei denen das Layout und die Struktur des Ausgangsmaterials wichtig sind, wie z. B. die Verarbeitung von Formularen, Rechnungen oder mehrspaltigen Layouts.
Wie führt man erweiterte Texterkennung in JavaScript-Anwendungen durch?
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);
});
Stapelverarbeitung mehrerer Dateien mit JavaScript
In realen Anwendungen müssen Software‑Profis oft mehrere Dokumente gleichzeitig verarbeiten. Scribe.js unterstützt Batch‑Verarbeitung von Haus aus und ermöglicht es den Benutzern, Text aus mehreren Bildern oder PDFs in einem einzigen Vorgang innerhalb einer JavaScript‑Anwendung zu extrahieren. Das folgende Beispiel zeigt, wie Entwickler ein Stapel von Dokumenten mit JavaScript‑Befehlen verarbeiten können.
Wie verarbeitet man einen Stapel von Dokumenten mit einer JavaScript-Bibliothek?
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');
});