Ανοιχτού Κώδικα OCR JavaScript API για Δημιουργία Αναζητήσιμων PDF

Μία κορυφαία βιβλιοθήκη JavaScript OCR για τη δημιουργία αναζητήσιμων PDF και εκτελεί OCR (Οπτική Αναγνώριση Χαρακτήρων) και εξάγει κείμενο τόσο από εικόνες (PNG, JPEG) όσο και από αρχεία PDF.

Τι είναι το Scribe.js;

Στον σημερινό ψηφιακό κόσμο, μια τεράστια ποσότητα πολύτιμων πληροφοριών είναι παγιδευμένη μέσα σε εικόνες—στιγμιότυπα οθόνης με μηνύματα σφάλματος, φωτογραφίες εγγράφων, διαφάνειες από παρουσίαση ή ακόμη και memes με έξυπνο κείμενο. Η χειροκίνητη μεταγραφή αυτού του κειμένου είναι μια κουραστική και επιρρεπής σε σφάλματα διαδικασία. Εδώ έρχεται η τεχνολογία Αναγνώρισης Οπτικών Χαρακτήρων (OCR) για να σώσει, και το Scribe.js προσφέρει έναν από τους πιο φιλικούς προς τους προγραμματιστές τρόπους ενσωμάτωσής του στα web projects σας. Το Scribe.js είναι μια ανοιχτού κώδικα βιβλιοθήκη JavaScript που εκτελεί OCR και εξάγει κείμενο τόσο από εικόνες όσο και από αρχεία PDF. Σε αντίθεση με πολλές λύσεις OCR που απαιτούν επεξεργασία στο backend ή εξωτερικές κλήσεις API, το Scribe.js λειτουργεί εξ ολοκλήρου στην πλευρά του πελάτη, δίνοντάς σας πλήρη έλεγχο των δεδομένων σας και εξαλείφοντας τα κόστη του διακομιστή για εργασίες αναγνώρισης κειμένου.

Scribe.js είναι ένας ελαφρύς πελάτης JavaScript για το Google Cloud Vision API. Όλες οι λειτουργίες OCR πραγματοποιούνται απευθείας στο πρόγραμμα περιήγησης του χρήστη ή στο περιβάλλον Node.js, εξασφαλίζοντας την ιδιωτικότητα και μειώνοντας το κόστος υποδομής του διακομιστή. Η βιβλιοθήκη περιλαμβάνει υποστήριξη για διάφορες λειτουργίες, όπως η προεπεξεργασία των εικόνων σας, ενοποιημένη ροή εργασίας για εικόνες, αυτόματη ανίχνευση, στρώση PDF, φιλτράρισμα σελίδων χαμηλής εμπιστοσύνης, προσωρινή αποθήκευση μηχανών OCR κ.λπ. Η βιβλιοθήκη είναι χτισμένη με σύγχρονα JavaScript ESM (ECMAScript Modules), καθιστώντας την απλή ενσωμάτωση σε σύγχρονα ροές ανάπτυξης web χωρίς την ανάγκη σύνθετων ρυθμίσεων κατασκευής. Αυτή η προσέγγιση προσανατολισμένη στον προγραμματιστή σημαίνει ότι μπορείτε να αρχίσετε να εξάγετε κείμενο από έγγραφα με μόνο λίγες γραμμές κώδικα.

Previous Next

Ξεκινώντας με το Scribe.js

Ο προτεινόμενος τρόπος εγκατάστασης του Scribe.js είναι μέσω npm. Παρακαλώ χρησιμοποιήστε την παρακάτω εντολή για ομαλή εγκατάσταση

Εγκαταστήστε το Scribe.js μέσω npm

 npm install scribe.js-ocr 

Μπορείτε επίσης να το εγκαταστήσετε χειροκίνητα· κατεβάστε τα τελευταία αρχεία έκδοσης απευθείας από το αποθετήριο GitHub.

Αναγνώριση κειμένου από εικόνες

Η πιο βασική περίπτωση χρήσης της βιβλιοθήκης Scribe.js είναι η εξαγωγή κειμένου από αρχεία εικόνας. Η βιβλιοθήκη διαχειρίζεται διάφορες μορφές εικόνας και μπορεί να επεξεργαστεί τόσο μεμονωμένες εικόνες όσο και παρτίδες πολλαπλών εικόνων σε μία λειτουργία. Εδώ είναι ένα βασικό παράδειγμα που δείχνει την εξαγωγή κειμένου από ένα URL εικόνας μέσα σε εφαρμογές JavaScript. Το απόσπασμα παρουσιάζει το απλό API που παρέχει η Scribe.js. Η μέθοδος extractText δέχεται έναν πίνακα από URLs εικόνων και επιστρέφει ένα Promise που λύνει με το αναγνωρισμένο κείμενο.

Πώς να εξάγετε κείμενο από μια εικόνα μέσω βιβλιοθήκης 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);
  });

Δημιουργία αναζητήσιμων PDF μέσω JavaScript

Ένα από τα πιο ισχυρά χαρακτηριστικά της Scribe.js είναι η δυνατότητά της να προσθέτει αόρατα στρώματα κειμένου σε υπάρχοντα αρχεία PDF. Αυτή η λειτουργία μετατρέπει τα PDF που βασίζονται σε εικόνες σε έγγραφα που μπορούν να αναζητηθούν χωρίς να αλλάζει η οπτική τους εμφάνιση. Όταν προστίθεται ένα στρώμα κειμένου σε ένα PDF, οι χρήστες μπορούν να αναζητήσουν συγκεκριμένες λέξεις ή φράσεις μέσα στο έγγραφο, να επιλέξουν και να αντιγράψουν κείμενο από αυτό που φαίνεται ως εικόνα, να χρησιμοποιήσουν προγράμματα ανάγνωσης οθόνης και εργαλεία προσβασιμότητας με σαρωμένα έγγραφα, να ενεργοποιήσουν την ευρετηρίαση από μηχανές αναζήτησης και συστήματα διαχείρισης εγγράφων κ.λπ.

Πώς να δημιουργήσετε έγγραφα PDF με δυνατότητα αναζήτησης μέσω βιβλιοθήκης 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;
  }
}

Προηγμένη ανίχνευση κειμένου εγγράφων μέσω JS

Για εικόνες εγγράφων με πυκνό κείμενο και πολύπλοκες διατάξεις (όπως μια σαρωμένη σελίδα βιβλίου ή εξαγωγή PDF), η βιβλιοθήκη Scribe.js προσφέρει τη λειτουργία "Ανίχνευση Κειμένου Εγγράφου". Αυτό παρέχει πολύ πιο πλούσιες πληροφορίες, συμπεριλαμβανομένων ανιχνευτών παραγράφων, λέξεων και διακοπών, που βοηθά στη διατήρηση της δομής του αρχικού εγγράφου. Είναι εξαιρετικά χρήσιμο για εφαρμογές όπου η διάταξη και η δομή του πηγαίου υλικού είναι σημαντικές, όπως η επεξεργασία φορμών, τιμολογίων ή διατάξεων πολλαπλών στηλών.

Πώς να εκτελέσετε προηγμένη ανίχνευση κειμένου σε εφαρμογές 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);
  });

Ομαδική επεξεργασία πολλαπλών αρχείων μέσω JavaScript

Σε πραγματικές εφαρμογές, οι επαγγελματίες λογισμικού συχνά χρειάζονται να επεξεργάζονται πολλαπλά έγγραφα ταυτόχρονα. Η Scribe.js υποστηρίζει επεξεργασία παρτίδας έτοιμη προς χρήση, επιτρέποντας στους χρήστες να εξάγουν κείμενο από πολλές εικόνες ή PDF σε μια ενιαία λειτουργία μέσα σε εφαρμογή JavaScript. Το παρακάτω παράδειγμα δείχνει πώς οι προγραμματιστές λογισμικού μπορούν να επεξεργαστούν μια παρτίδα εγγράφων χρησιμοποιώντας εντολές JavaScript.

Πώς να επεξεργαστείτε μια δέσμη εγγράφων χρησιμοποιώντας βιβλιοθήκη 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');
  });
 Ελληνικά