1. পণ্য
  2.   OCR
  3.   JavaScript
  4.   Scribe.js
 
  

অনুসন্ধানযোগ্য PDF তৈরি করার জন্য ওপেন সোর্স OCR জাভাস্ক্রিপ্ট API

অনুসন্ধানযোগ্য PDF তৈরি করার জন্য শীর্ষস্থানীয় জাভাস্ক্রিপ্ট OCR লাইব্রেরি, যা OCR (অপটিক্যাল ক্যারেক্টার রিকগনিশন) সম্পাদন করে এবং ইমেজ (PNG, JPEG) ও PDF ফাইল উভয় থেকে টেক্সট বের করে।

Scribe.js কী?

আজকের ডিজিটাল বিশ্বে, মূল্যবান তথ্যের বিশাল পরিমাণ ছবি-ভিত্তিকভাবে আটকে থাকে—এরর মেসেজের স্ক্রিনশট, ডকুমেন্টের ফটো, প্রেজেন্টেশনের স্লাইড, অথবা বুদ্ধিদীপ্ত টেক্সটযুক্ত মিম। ম্যানুয়ালি এই টেক্সট ট্রান্সক্রাইব করা ক্লান্তিকর এবং ত্রুটিপূর্ণ প্রক্রিয়া। এখানেই অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) প্রযুক্তি সাহায্য করে, এবং Scribe.js আপনার ওয়েব প্রকল্পে এটি সংযুক্ত করার জন্য সবচেয়ে ডেভেলপার-বন্ধুত্বপূর্ণ উপায়গুলোর একটি প্রদান করে। Scribe.js একটি ওপেন-সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি যা OCR সম্পাদন করে এবং ছবি ও PDF ফাইল উভয় থেকে টেক্সট বের করে। অনেক OCR সমাধান যা ব্যাকএন্ড প্রসেসিং বা বাহ্যিক API কলের প্রয়োজন হয়, তার বিপরীতে, Scribe.js সম্পূর্ণভাবে ক্লায়েন্ট সাইডে চলে, যা আপনাকে আপনার ডেটার উপর পূর্ণ নিয়ন্ত্রণ দেয় এবং টেক্সট রিকগনিশন কাজের জন্য সার্ভার খরচ দূর করে।

Scribe.js হল একটি হালকা ওজনের জাভাস্ক্রিপ্ট ক্লায়েন্ট গুগল ক্লাউড ভিশন API-এর জন্য। সমস্ত OCR অপারেশন সরাসরি ব্যবহারকারীর ব্রাউজার বা আপনার Node.js পরিবেশে ঘটে, যা গোপনীয়তা নিশ্চিত করে এবং সার্ভার অবকাঠামো খরচ কমায়। লাইব্রেরিতে বিভিন্ন ফিচারের সমর্থন অন্তর্ভুক্ত রয়েছে, যেমন আপনার ছবিগুলি প্রি-প্রসেস করা, ছবির জন্য একীভূত ওয়ার্কফ্লো, স্বয়ংক্রিয় সনাক্তকরণ, PDF লেয়ারিং, কম-আত্মবিশ্বাসী পৃষ্ঠাগুলি ফিল্টার করা, OCR ইঞ্জিন ক্যাশ করা ইত্যাদি। লাইব্রেরিটি আধুনিক জাভাস্ক্রিপ্ট ESM (ECMAScript Modules) ব্যবহার করে তৈরি, যা জটিল বিল্ড কনফিগারেশন ছাড়াই সমসাময়িক ওয়েব ডেভেলপমেন্ট ওয়ার্কফ্লোতে সহজে সংযুক্ত করা যায়। এই ডেভেলপার-প্রথম পদ্ধতি মানে আপনি মাত্র কয়েকটি কোড লাইনের মাধ্যমে ডকুমেন্ট থেকে টেক্সট বের করা শুরু করতে পারেন।

Previous Next

Scribe.js দিয়ে শুরু করা

Scribe.js ইনস্টল করার সুপারিশকৃত পদ্ধতি হল npm ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

npm এর মাধ্যমে Scribe.js ইনস্টল করুন

 npm install scribe.js-ocr 

আপনি ম্যানুয়ালি ইনস্টল করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলি সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।

ছবির থেকে টেক্সট স্বীকৃতি

Scribe.js লাইব্রেরির সবচেয়ে মৌলিক ব্যবহার হল ইমেজ ফাইল থেকে টেক্সট বের করা। লাইব্রেরি বিভিন্ন ইমেজ ফরম্যাট হ্যান্ডেল করে এবং একক ইমেজ ও একাধিক ইমেজের ব্যাচ একসাথে প্রক্রিয়া করতে পারে। এখানে একটি মৌলিক উদাহরণ দেওয়া হয়েছে যা জাভাস্ক্রিপ্ট অ্যাপের মধ্যে ইমেজ URL থেকে টেক্সট এক্সট্র্যাকশন প্রদর্শন করে। স্নিপেটটি Scribe.js যে সরল API প্রদান করে তা প্রদর্শন করে। extractText মেথডটি ইমেজ URL গুলোর একটি অ্যারে গ্রহণ করে এবং একটি 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);
  });

JavaScript এর মাধ্যমে অনুসন্ধানযোগ্য PDF তৈরি করুন

Scribe.js এর সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলোর একটি হল বিদ্যমান PDF ফাইলগুলিতে অদৃশ্য টেক্সট লেয়ার যোগ করার ক্ষমতা। এই ফাংশনালিটি ইমেজ-ভিত্তিক PDF গুলোকে ভিজ্যুয়াল চেহারা পরিবর্তন না করে অনুসন্ধানযোগ্য ডকুমেন্টে রূপান্তরিত করে। যখন একটি PDF-এ টেক্সট লেয়ার যোগ করা হয়, ব্যবহারকারীরা ডকুমেন্টের মধ্যে নির্দিষ্ট শব্দ বা বাক্যাংশ অনুসন্ধান করতে পারে, যা ইমেজের মতো দেখায় সেখান থেকে টেক্সট সিলেক্ট ও কপি করতে পারে, স্ক্যান করা ডকুমেন্টের সাথে স্ক্রিন রিডার এবং অ্যাক্সেসিবিলিটি টুল ব্যবহার করতে পারে, সার্চ ইঞ্জিন এবং ডকুমেন্ট ম্যানেজমেন্ট সিস্টেমের মাধ্যমে ইনডেক্সিং সক্রিয় করতে পারে ইত্যাদি।

JavaScript লাইব্রেরি ব্যবহার করে কীভাবে অনুসন্ধানযোগ্য PDF ডকুমেন্ট তৈরি করবেন?

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 লাইব্রেরি একটি "Document Text Detection" ফিচার প্রদান করে। এটি প্যারাগ্রাফ, শব্দ এবং ব্রেক ডিটেক্টরসহ অনেক বেশি সমৃদ্ধ তথ্য সরবরাহ করে, যা মূল ডকুমেন্টের কাঠামো সংরক্ষণে সহায়তা করে। এটি ফর্ম, ইনভয়েস বা মাল্টি-কলাম লেআউটের মতো, যেখানে সোর্স উপাদানের লেআউট এবং কাঠামো গুরুত্বপূর্ণ, এমন অ্যাপ্লিকেশনের জন্য অত্যন্ত উপযোগী।

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 লাইব্রেরি ব্যবহার করে কীভাবে ডকুমেন্টের একটি ব্যাচ প্রক্রিয়া করবেন?

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');
  });
 বাংলা