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

API OCR JavaScript open source pentru a crea PDF-uri căutabile

O bibliotecă JavaScript OCR de top pentru a crea PDF-uri căutabile și care efectuează OCR (Recunoaștere Optică a Caracterelor) și extrage text atât din imagini (PNG, JPEG), cât și din fișiere PDF.

Ce este Scribe.js?

În lumea digitală de astăzi, o cantitate uriașă de informații valoroase este blocată în imagini — capturi de ecran ale mesajelor de eroare, fotografii ale documentelor, diapozitive dintr-o prezentare sau chiar meme-uri cu text ingenios. Transcrierea manuală a acestui text este un proces plictisitor și predispus la erori. Aici intervine tehnologia de recunoaștere optică a caracterelor (OCR), iar Scribe.js oferă una dintre cele mai prietenoase pentru dezvoltatori modalități de a o integra în proiectele web. Scribe.js este o bibliotecă JavaScript open-source care efectuează OCR și extrage text atât din imagini, cât și din fișiere PDF. Spre deosebire de multe soluții OCR care necesită procesare pe server sau apeluri API externe, Scribe.js rulează complet pe partea client, oferindu-vă control total asupra datelor și eliminând costurile serverului pentru sarcinile de recunoaștere a textului.

Scribe.js este un client JavaScript ușor pentru API-ul Google Cloud Vision. Toate operațiunile OCR au loc direct în browserul utilizatorului sau în mediul tău Node.js, asigurând confidențialitatea și reducând costurile infrastructurii serverului. Biblioteca include suport pentru diverse funcționalități, cum ar fi preprocesarea imaginilor, flux de lucru unificat pentru imagini, detectare automată, stratificare PDF, filtrarea paginilor cu încredere scăzută, cache pentru motoarele OCR și altele. Biblioteca este construită utilizând JavaScript modern ESM (ECMAScript Modules), făcând integrarea în fluxurile de dezvoltare web contemporane simplă, fără a necesita configurații de build complexe. Această abordare orientată spre dezvoltatori înseamnă că poți începe să extragi text din documente cu doar câteva linii de cod.

Previous Next

Începeți cu Scribe.js

Cea mai recomandată metodă de instalare a Scribe.js este prin npm. Vă rugăm să utilizați comanda următoare pentru o instalare fără probleme

Instalați Scribe.js prin npm

 npm install scribe.js-ocr 

Poți, de asemenea, să îl instalezi manual; descarcă fișierele ultimei versiuni direct de pe depozitul GitHub.

Recunoaștere de text din imagini

Cazul de utilizare cel mai fundamental al bibliotecii Scribe.js este extragerea textului din fișiere imagine. Biblioteca gestionează diverse formate de imagini și poate procesa atât imagini individuale, cât și loturi de mai multe imagini într-o singură operație. Iată un exemplu de bază care demonstrează extragerea textului dintr-un URL de imagine în aplicații JavaScript. Fragmentul prezintă API-ul simplu pe care îl oferă Scribe.js. Metoda extractText acceptă un tablou de URL-uri de imagini și returnează un Promise care se rezolvă cu textul recunoscut.

Cum să extrageți text dintr-o imagine prin bibliotecă 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);
  });

Creați PDF-uri căutabile prin JavaScript

Una dintre cele mai puternice funcționalități ale Scribe.js este capacitatea sa de a adăuga straturi de text invizibile în fișiere PDF existente. Această funcționalitate transformă PDF-urile bazate pe imagini în documente căutabile fără a le modifica aspectul vizual. Când un strat de text este adăugat unui PDF, utilizatorii pot căuta cuvinte sau fraze specifice în document, pot selecta și copia textul din ceea ce pare a fi o imagine, pot folosi cititoare de ecran și instrumente de accesibilitate cu documente scanate, pot permite indexarea de către motoarele de căutare și sistemele de gestionare a documentelor și altele.

Cum să creați documente PDF căutabile prin bibliotecă 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;
  }
}

Detectare avansată a textului din documente prin JS

Pentru imagini ale documentelor cu text dens și aranjamente complexe (cum ar fi o pagină de carte scanată sau o exportare PDF), biblioteca Scribe.js oferă o funcție de "Detectare Text Document". Aceasta furnizează informații mult mai bogate, inclusiv detectoare de paragrafe, cuvinte și întreruperi, care ajută la păstrarea structurii documentului original. Este extrem de utilă pentru aplicații în care aspectul și structura materialului sursă sunt importante, cum ar fi procesarea formularelor, facturilor sau a aranjamentelor pe mai multe coloane.

Cum să efectuați detectarea avansată a textului în aplicații 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);
  });

Procesare în lot a mai multor fișiere prin JavaScript

În aplicații din viața reală, profesioniștii în software au adesea nevoie să proceseze mai multe documente simultan. Scribe.js suportă procesarea în lot din start, permițând utilizatorilor să extragă text din mai multe imagini sau PDF-uri într-o singură operație în cadrul unei aplicații JavaScript. Exemplul următor demonstrează cum dezvoltatorii pot procesa un lot de documente utilizând comenzi JavaScript.

Cum să procesați un lot de documente utilizând bibliotecă 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');
  });
 Română