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

Open source OCR JavaScript API til at oprette søgbare PDF'er

Et førende JavaScript OCR-bibliotek til at oprette søgbare PDF'er og udfører OCR (Optisk Tegngenkendelse) og udtrækker tekst fra både billeder (PNG, JPEG) og PDF-filer.

Hvad er Scribe.js?

I nutidens digitale verden er en enorm mængde værdifuld information fanget i billeder—skærmbilleder af fejlmeddelelser, fotografier af dokumenter, dias fra en præsentation eller endda memes med smart tekst. At transskribere denne tekst manuelt er en tidskrævende og fejlbehæftet proces. Det er her, optisk tegngenkendelse (OCR) teknologi kommer til undsætning, og Scribe.js tilbyder en af de mest udvikler-venlige måder at integrere den i dine webprojekter. Scribe.js er et open-source JavaScript-bibliotek, der udfører OCR og udtrækker tekst fra både billeder og PDF-filer. I modsætning til mange OCR-løsninger, der kræver backend-behandling eller eksterne API-kald, kører Scribe.js udelukkende på klientsiden, hvilket giver dig fuld kontrol over dine data og eliminerer serveromkostninger for tekstgenkendelsesopgaver.

Scribe.js er en letvægts JavaScript-klient til Google Cloud Vision API. Alle OCR‑operationer udføres direkte i brugerens browser eller dit Node.js‑miljø, hvilket sikrer privatliv og reducerer omkostninger til serverinfrastruktur. Biblioteket inkluderer understøttelse af forskellige funktioner, såsom forbehandling af dine billeder, ensartet arbejdsgang for billeder, automatisk detektion, PDF‑lagdeling, filtrering af sider med lav tillid, caching af OCR‑motorer osv. Biblioteket er bygget med moderne JavaScript ESM (ECMAScript Modules), hvilket gør det enkelt at integrere i nutidige webudviklings‑workflows uden at kræve komplekse bygge‑konfigurationer. Denne udvikler‑første tilgang betyder, at du kan begynde at udtrække tekst fra dokumenter med blot nogle få linjer kode.

Previous Next

Kom i gang med Scribe.js

Den anbefalede måde at installere Scribe.js på er ved at bruge npm. Brug venligst følgende kommando for en problemfri installation.

Installer Scribe.js via npm

 npm install scribe.js-ocr 

Du kan også installere det manuelt; download de seneste udgivelsesfiler direkte fra GitHub-repository.

Tekstgenkendelse fra billeder

Den mest grundlæggende anvendelse af Scribe.js-biblioteket er at udtrække tekst fra billedfiler. Biblioteket håndterer forskellige billedformater og kan behandle både enkelte billeder og batches af flere billeder i én operation. Her er et grundlæggende eksempel, der demonstrerer tekstudtrækning fra en billed-URL i JavaScript‑apps. Kodeuddraget viser det enkle API, som Scribe.js leverer. extractText‑metoden accepterer et array af billed‑URL'er og returnerer et Promise, der løser med den genkendte tekst.

Hvordan udtrækker man tekst fra et billede via JavaScript-bibliotek?

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);
  });

Opret søgbare PDF'er via JavaScript

En af Scribe.js's mest kraftfulde funktioner er evnen til at tilføje usynlige tekstlag til eksisterende PDF-filer. Denne funktionalitet omdanner billedbaserede PDF'er til søgbare dokumenter uden at ændre deres visuelle udseende. Når et tekstlag tilføjes til en PDF, kan brugerne søge efter specifikke ord eller sætninger i dokumentet, vælge og kopiere tekst fra det, der ser ud som et billede, bruge skærmlæsere og tilgængelighedsværktøjer med scannede dokumenter, muliggøre indeksering af søgemaskiner og dokumenthåndteringssystemer osv.

Hvordan opretter man søgbare PDF-dokumenter via JavaScript-bibliotek?

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;
  }
}

Avanceret dokumenttekstgenkendelse via JS

For billeder af dokumenter med tæt tekst og komplekse layout (som en scannet bogside eller en PDF-eksport) tilbyder Scribe.js-biblioteket en "Document Text Detection"-funktion. Dette giver meget rigere information, herunder afsnit-, ord- og linjeskiftdetektorer, som hjælper med at bevare strukturen i det oprindelige dokument. Dette er yderst nyttigt for applikationer, hvor layoutet og strukturen af kilde materialet er vigtigt, såsom behandling af formularer, fakturaer eller flerkolonne‑layouts.

Hvordan udfører man avanceret tekstdetektion i JavaScript-apps?

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);
  });

Batchbehandling af flere filer via JavaScript

I virkelige applikationer har softwareprofessionelle ofte brug for at behandle flere dokumenter samtidigt. Scribe.js understøtter batchbehandling fra starten, så brugere kan udtrække tekst fra flere billeder eller PDF'er i en enkelt operation inden for en JavaScript‑applikation. Det følgende eksempel demonstrerer, hvordan softwareudviklere kan behandle en batch af dokumenter ved hjælp af JavaScript‑kommandoer.

Hvordan behandler man en batch af dokumenter ved hjælp af JavaScript-bibliotek?

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');
  });
 Dansk