API OCR JavaScript Sumber Terbuka untuk Mencipta PDF Boleh Dicari
Perpustakaan OCR JavaScript Terunggul untuk Mencipta PDF Boleh Dicari dan Melakukan OCR (Pengenalan Aksara Optik) serta Mengekstrak Teks daripada Kedua-dua Imej (PNG, JPEG) dan Fail PDF.
Apakah Scribe.js?
Pada dunia digital hari ini, sejumlah besar maklumat berharga terperangkap dalam imej—tangkapan skrin mesej ralat, foto dokumen, slaid daripada pembentangan, atau bahkan meme dengan teks pintar. Menyalin teks ini secara manual adalah proses yang membosankan dan mudah terdedah kepada kesilapan. Di sinilah teknologi Pengenalan Aksara Optik (OCR) datang membantu, dan Scribe.js menawarkan salah satu cara yang paling mesra pemaju untuk mengintegrasikannya ke dalam projek web anda. Scribe.js adalah perpustakaan JavaScript sumber terbuka yang melakukan OCR dan mengekstrak teks daripada imej dan fail PDF. Berbeza dengan banyak penyelesaian OCR yang memerlukan pemprosesan belakang atau panggilan API luaran, Scribe.js berjalan sepenuhnya di sisi klien, memberi anda kawalan penuh ke atas data anda dan menghapuskan kos pelayan untuk tugas pengenalan teks.
Scribe.js ialah klien JavaScript ringan untuk Google Cloud Vision API. Semua operasi OCR berlaku secara langsung dalam pelayar pengguna atau persekitaran Node.js anda, memastikan privasi dan mengurangkan kos infrastruktur pelayan. Perpustakaan ini menyertakan sokongan untuk pelbagai ciri, seperti pra-pemprosesan imej anda, aliran kerja terpadu untuk imej, pengesanan automatik, lapisan PDF, menapis halaman berkeyakinan rendah, menyimpan enjin OCR dalam cache dan sebagainya. Perpustakaan ini dibina menggunakan JavaScript ESM (ECMAScript Modules) moden, menjadikannya mudah untuk diintegrasikan ke dalam aliran kerja pembangunan web kontemporari tanpa memerlukan konfigurasi binaan yang kompleks. Pendekatan yang berorientasikan pembangun ini bermakna anda boleh mula mengekstrak teks daripada dokumen dengan hanya beberapa baris kod.
Memulakan dengan Scribe.js
Cara yang disyorkan untuk memasang Scribe.js ialah menggunakan npm. Sila gunakan perintah berikut untuk pemasangan yang lancar
Pasang Scribe.js melalui npm
npm install scribe.js-ocr Anda juga boleh memasangnya secara manual; muat turun fail keluaran terkini secara langsung dari repositori GitHub.
Pengenalan Teks daripada Imej
Kegunaan paling asas bagi perpustakaan Scribe.js ialah mengekstrak teks daripada fail imej. Perpustakaan ini menyokong pelbagai format imej dan boleh memproses kedua-dua imej tunggal serta kumpulan berbilang imej dalam satu operasi. Berikut ialah contoh asas yang menunjukkan pengekstrakan teks daripada URL imej dalam aplikasi JavaScript. Potongan kod ini mempamerkan API yang mudah difahami yang disediakan oleh Scribe.js. Kaedah extractText menerima satu array URL imej dan mengembalikan Promise yang menyelesaikan dengan teks yang dikenali.
Bagaimana untuk Mengekstrak Teks daripada Imej melalui Perpustakaan 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);
});
Buat PDF Boleh Cari melalui JavaScript
Salah satu ciri paling kuat Scribe.js ialah keupayaannya menambah lapisan teks tidak kelihatan kepada fail PDF sedia ada. Fungsi ini mengubah PDF berasaskan imej menjadi dokumen yang boleh dicari tanpa mengubah penampilan visualnya. Apabila lapisan teks ditambah kepada PDF, pengguna boleh mencari perkataan atau frasa tertentu dalam dokumen, memilih dan menyalin teks daripada apa yang kelihatan seperti imej, menggunakan pembaca skrin dan alat kebolehcapaian dengan dokumen yang diimbas, membolehkan pengindeksan oleh enjin carian dan sistem pengurusan dokumen, dan sebagainya.
Bagaimana untuk Membuat Dokumen PDF Boleh Carian melalui Perpustakaan 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;
}
}
Pengesanan Teks Dokumen Lanjutan melalui JS
Untuk imej dokumen dengan teks padat dan susun atur yang kompleks (seperti halaman buku yang diimbas atau eksport PDF), perpustakaan Scribe.js menawarkan ciri "Document Text Detection". Ini menyediakan maklumat yang jauh lebih kaya, termasuk pengesan perenggan, perkataan, dan jeda, yang membantu mengekalkan struktur dokumen asal. Ia sangat berguna untuk aplikasi di mana susun atur dan struktur bahan sumber penting, seperti memproses borang, invois, atau susun atur berbilang lajur.
Bagaimana untuk Melakukan Pengesanan Teks Lanjutan dalam Aplikasi 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);
});
Pemprosesan Pukal Berbilang Fail melalui JavaScript
Dalam aplikasi dunia sebenar, profesional perisian sering perlu memproses banyak dokumen secara serentak. Scribe.js menyokong pemprosesan kelompok secara lalai, membolehkan pengguna mengekstrak teks dari pelbagai imej atau PDF dalam satu operasi dalam aplikasi JavaScript. Contoh berikut menunjukkan bagaimana pembangun perisian dapat memproses sekumpulan dokumen menggunakan arahan JavaScript.
Bagaimana untuk Memproses Sekumpulan Dokumen menggunakan Perpustakaan 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');
});