1. Produk
  2.   OCR
  3.   JavaScript
  4.   Scribe.js
 
  

API OCR JavaScript Sumber Terbuka untuk Membuat PDF yang Dapat Dicari

Perpustakaan OCR JavaScript Terdepan untuk Membuat PDF yang Dapat Dicari dan Melakukan OCR (Optical Character Recognition) serta Mengekstrak Teks dari Gambar (PNG, JPEG) dan File PDF.

Apa itu Scribe.js?

Di dunia digital saat ini, sejumlah besar informasi berharga terperangkap dalam gambar—tangkapan layar pesan kesalahan, foto dokumen, slide dari presentasi, atau bahkan meme dengan teks cerdas. Menyalin teks ini secara manual merupakan proses yang melelahkan dan rawan kesalahan. Di sinilah teknologi Optical Character Recognition (OCR) datang menyelamatkan, dan Scribe.js menawarkan salah satu cara paling ramah pengembang untuk mengintegrasikannya ke dalam proyek web Anda. Scribe.js adalah perpustakaan JavaScript sumber terbuka yang melakukan OCR dan mengekstrak teks dari gambar maupun file PDF. Berbeda dengan banyak solusi OCR yang memerlukan pemrosesan backend atau panggilan API eksternal, Scribe.js berjalan sepenuhnya di sisi klien, memberi Anda kontrol penuh atas data Anda dan menghilangkan biaya server untuk tugas pengenalan teks.

Scribe.js adalah klien JavaScript ringan untuk Google Cloud Vision API. Semua operasi OCR terjadi langsung di browser pengguna atau lingkungan Node.js Anda, memastikan privasi dan mengurangi biaya infrastruktur server. Perpustakaan ini telah menyertakan dukungan untuk berbagai fitur, seperti pra‑pemrosesan gambar Anda, alur kerja terpadu untuk gambar, deteksi otomatis, lapisan PDF, menyaring halaman dengan kepercayaan rendah, menyimpan cache mesin OCR, dan sebagainya. Perpustakaan ini dibangun menggunakan JavaScript modern ESM (ECMAScript Modules), sehingga mudah diintegrasikan ke dalam alur kerja pengembangan web kontemporer tanpa memerlukan konfigurasi build yang kompleks. Pendekatan yang berfokus pada pengembang ini berarti Anda dapat mulai mengekstrak teks dari dokumen dengan hanya beberapa baris kode.

Previous Next

Memulai dengan Scribe.js

Cara yang disarankan untuk menginstal Scribe.js adalah menggunakan npm. Silakan gunakan perintah berikut untuk instalasi yang lancar.

Instal Scribe.js via npm

 npm install scribe.js-ocr 

Anda juga dapat menginstalnya secara manual; unduh file rilis terbaru langsung dari repositori GitHub.

Pengenalan Teks dari Gambar

Kasus penggunaan paling mendasar untuk pustaka Scribe.js adalah mengekstrak teks dari file gambar. Pustaka ini menangani berbagai format gambar dan dapat memproses baik gambar tunggal maupun batch beberapa gambar dalam satu operasi. Berikut contoh dasar yang menunjukkan ekstraksi teks dari URL gambar dalam aplikasi JavaScript. Potongan kode ini menampilkan API sederhana yang disediakan oleh Scribe.js. Metode extractText menerima array URL gambar dan mengembalikan Promise yang menyelesaikan dengan teks yang dikenali.

Cara Mengekstrak Teks dari Gambar 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 yang Dapat Dicari melalui JavaScript

Salah satu fitur paling kuat dari Scribe.js adalah kemampuannya menambahkan lapisan teks tak terlihat ke file PDF yang sudah ada. Fungsionalitas ini mengubah PDF berbasis gambar menjadi dokumen yang dapat dicari tanpa mengubah tampilan visualnya. Ketika lapisan teks ditambahkan ke PDF, pengguna dapat mencari kata atau frasa tertentu dalam dokumen, memilih dan menyalin teks dari apa yang tampak seperti gambar, menggunakan pembaca layar dan alat aksesibilitas dengan dokumen yang dipindai, mengaktifkan pengindeksan oleh mesin pencari dan sistem manajemen dokumen, dan sebagainya.

Cara Membuat Dokumen PDF yang Dapat Dicari 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;
  }
}

Deteksi Teks Dokumen Lanjutan via JS

Untuk gambar dokumen dengan teks padat dan tata letak kompleks (seperti halaman buku yang dipindai atau ekspor PDF), pustaka Scribe.js menawarkan fitur "Deteksi Teks Dokumen". Ini menyediakan informasi yang jauh lebih kaya, termasuk detektor paragraf, kata, dan jeda, yang membantu mempertahankan struktur dokumen asli. Ini sangat berguna untuk aplikasi di mana tata letak dan struktur materi sumber penting, seperti memproses formulir, faktur, atau tata letak multi-kolom.

Cara Melakukan Deteksi 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);
  });

Pemrosesan Batch Banyak File melalui JavaScript

Dalam aplikasi dunia nyata, profesional perangkat lunak sering perlu memproses banyak dokumen secara bersamaan. Scribe.js mendukung pemrosesan batch secara bawaan, memungkinkan pengguna mengekstrak teks dari banyak gambar atau PDF dalam satu operasi di dalam aplikasi JavaScript. Contoh berikut menunjukkan bagaimana pengembang perangkat lunak dapat memproses batch dokumen menggunakan perintah JavaScript.

Cara Memproses Sekelompok 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');
  });
 Indonesia