Arama Yapılabilir PDF'ler Oluşturmak için Açık Kaynak OCR JavaScript API'si
Arama Yapılabilir PDF'ler Oluşturmak ve Görüntülerden (PNG, JPEG) ve PDF Dosyalarından Metin Çıkarmak için OCR (Optik Karakter Tanıma) Gerçekleştiren Önde Gelen Bir JavaScript OCR Kütüphanesi.
Scribe.js nedir?
Bugünün dijital dünyasında, değerli bilgilerin büyük bir kısmı görüntüler içinde sıkışmıştır—hata mesajlarının ekran görüntüleri, belgelerin fotoğrafları, bir sunumun slaytları ya da zekice metin içeren memler. Bu metni manuel olarak yazıya dökmek zahmetli ve hataya açık bir süreçtir. İşte bu noktada Optik Karakter Tanıma (OCR) teknolojisi devreye girer ve Scribe.js, bunu web projelerinize entegre etmenin geliştiriciler için en dostane yollarından birini sunar. Scribe.js, OCR gerçekleştiren ve hem görüntülerden hem de PDF dosyalarından metin çıkaran açık kaynaklı bir JavaScript kütüphanesidir. Birçok OCR çözümünün arka uç işleme veya dış API çağrılarına ihtiyaç duymasıyla karşılaştırıldığında, Scribe.js tamamen istemci tarafında çalışır, verileriniz üzerinde tam kontrol sağlar ve metin tanıma görevleri için sunucu maliyetlerini ortadan kaldırır.
Scribe.js, Google Cloud Vision API için hafif bir JavaScript istemcisidir. Tüm OCR işlemleri doğrudan kullanıcının tarayıcısında veya Node.js ortamınızda gerçekleşir, gizliliği sağlar ve sunucu altyapı maliyetlerini azaltır. Kütüphane, görüntülerinizi ön işleme, görüntüler için birleşik iş akışı, otomatik algılama, PDF katmanlama, düşük güvenilirliğe sahip sayfaları filtreleme, OCR motorlarını önbellekleme gibi çeşitli özellikleri destekleyecek şekilde eklenmiştir. Kütüphane, modern JavaScript ESM (ECMAScript Modules) kullanılarak oluşturulmuştur, bu da karmaşık derleme yapılandırmalarına ihtiyaç duymadan çağdaş web geliştirme iş akışlarına sorunsuz entegrasyonu sağlar. Bu geliştirici odaklı yaklaşım, sadece birkaç satır kodla belgelerden metin çıkarmaya başlamanızı mümkün kılar.
Scribe.js ile Başlarken
Scribe.js'i kurmanın önerilen yolu npm kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın
npm aracılığıyla Scribe.js'i kurun
npm install scribe.js-ocr Ayrıca manuel olarak da kurabilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirebilirsiniz.
Görüntülerden Metin Tanıma
Scribe.js kütüphanesinin en temel kullanım senaryosu, görüntü dosyalarından metin çıkarmaktır. Kütüphane çeşitli görüntü formatlarını destekler ve tek bir görüntüyü ya da bir işlemde birden çok görüntünün toplu işlenmesini yapabilir. İşte JavaScript uygulamaları içinde bir görüntü URL'sinden metin çıkarımını gösteren temel bir örnek. Bu kod parçacığı, Scribe.js'in sunduğu basit API'yi sergiliyor. extractText yöntemi, görüntü URL'lerinin bir dizisini kabul eder ve tanınan metinle çözümlenen bir Promise döndürür.
JavaScript Kütüphanesi ile Görüntüden Metin Nasıl Çıkarılır?
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);
});
JavaScript ile Aranabilir PDF'ler Oluşturun
Scribe.js'in en güçlü özelliklerinden biri, mevcut PDF dosyalarına görünmez metin katmanları ekleyebilmesidir. Bu işlevsellik, görüntü tabanlı PDF'leri görsel görünümünü değiştirmeden aranabilir belgelere dönüştürür. Bir PDF'ye metin katmanı eklendiğinde, kullanıcılar belgede belirli kelimeleri veya ifadeleri arayabilir, görüntü gibi görünen yerden metni seçip kopyalayabilir, taranmış belgelerle ekran okuyucuları ve erişilebilirlik araçlarını kullanabilir, arama motorları ve belge yönetim sistemleri tarafından indekslemeyi etkinleştirebilir ve benzeri işlemler yapabilir.
JavaScript Kütüphanesi ile Aranabilir PDF Belgeleri Nasıl Oluşturulur?
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 ile Gelişmiş Belge Metin Algılama
Yoğun metin ve karmaşık düzenlere sahip belgelerin (örneğin taranmış bir kitap sayfası veya PDF dışa aktarımı) görüntüleri için Scribe.js kütüphanesi "Document Text Detection" özelliği sunar. Bu, paragraf, kelime ve satır sonu algılayıcıları içeren çok daha zengin bilgiler sağlar ve orijinal belgenin yapısını korumaya yardımcı olur. Bu, formların, faturaların veya çok sütunlu düzenlerin işlenmesi gibi kaynak materyalin düzeni ve yapısının önemli olduğu uygulamalar için son derece faydalıdır.
JavaScript Uygulamalarında Gelişmiş Metin Algılaması Nasıl Yapılır?
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 ile Çoklu Dosyaların Toplu İşlenmesi
Gerçek dünya uygulamalarında, yazılım profesyonelleri genellikle birden fazla belgeyi aynı anda işlemek zorunda kalırlar. Scribe.js, kutudan çıkar çıkmaz toplu işleme desteği sunar ve kullanıcıların JavaScript uygulaması içinde tek bir işlemle birden fazla görüntüden veya PDF'den metin çıkarmasına olanak tanır. Aşağıdaki örnek, yazılım geliştiricilerin JavaScript komutlarıyla bir belge toplusunu nasıl işleyebileceğini gösterir.
JavaScript Kütüphanesi ile Belge Toplu İşleme Nasıl Yapılır?
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');
});