Image থেকে Text Extraction এবং PDF OCR গাইড ও নোট

Java Technologies - অ্যাপাচি টিকা (Apache Tika) - Tika এবং Optical Character Recognition (OCR) Integration
338

অ্যাপাচি টিকা (Apache Tika) একটি শক্তিশালী টুল যা বিভিন্ন ফরম্যাটের ডকুমেন্ট এবং মিডিয়া ফাইল থেকে টেক্সট ও মেটাডাটা এক্সট্র্যাক্ট করতে পারে। এর মধ্যে একটি উল্লেখযোগ্য ফিচার হলো ইমেজ থেকে টেক্সট এক্সট্র্যাকশন এবং পিডিএফ OCR (Optical Character Recognition)।


ইমেজ থেকে টেক্সট এক্সট্র্যাকশন

অ্যাপাচি টিকা Tesseract OCR ইঞ্জিন ব্যবহার করে ইমেজ ফাইল (যেমন PNG, JPEG) থেকে টেক্সট এক্সট্র্যাক্ট করতে সক্ষম। Tesseract একটি ওপেন সোর্স OCR টুল যা ইমেজে থাকা টেক্সটকে ডিজিটাল ফর্ম্যাটে রূপান্তর করতে ব্যবহার করা হয়।

প্রয়োজনীয় ডিপেনডেন্সি

টেক্সট এক্সট্র্যাকশন এবং OCR-এর জন্য Tika-parsers এবং Tesseract OCR-এর প্রয়োজন:

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers-standard-package</artifactId>
    <version>2.x.x</version>
</dependency>

উদাহরণ: ইমেজ থেকে টেক্সট এক্সট্র্যাকশন (Java কোড)

import java.io.File;
import java.io.InputStream;
import org.apache.tika.Tika;
import org.apache.tika.parser.ocr.TesseractOCRConfig;
import org.apache.tika.parser.ocr.TesseractOCRParser;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;

public class ImageToText {
    public static void main(String[] args) {
        try {
            Tika tika = new Tika();

            // OCR কনফিগারেশন
            TesseractOCRConfig config = new TesseractOCRConfig();
            config.setLanguage("eng"); // ভাষা সেট করা (ইংরেজি)

            // ফাইল লোড করা
            File file = new File("image.png");
            InputStream inputstream = tika.getStream(file);
            BodyContentHandler handler = new BodyContentHandler();
            Metadata metadata = new Metadata();
            ParseContext context = new ParseContext();
            context.set(TesseractOCRConfig.class, config);

            // Tesseract OCR Parser ব্যবহার করে প্রসেস করা
            TesseractOCRParser parser = new TesseractOCRParser();
            parser.parse(inputstream, handler, metadata, context);

            // টেক্সট প্রিন্ট করা
            System.out.println("Extracted Text: " + handler.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

পিডিএফ OCR (Optical Character Recognition)

OCR প্রযুক্তির মাধ্যমে স্ক্যান করা পিডিএফ ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করা যায়। Tika-পার্সার প্যাকেজ Tesseract OCR ইঞ্জিনকে ইন্টিগ্রেট করে, যার ফলে ইমেজ-ভিত্তিক পিডিএফ থেকেও টেক্সট বের করা সম্ভব।

পিডিএফ OCR-এর জন্য কনফিগারেশন

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers-standard-package</artifactId>
    <version>2.x.x</version>
</dependency>
<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>4.x.x</version>
</dependency>

উদাহরণ: পিডিএফ থেকে টেক্সট এক্সট্র্যাকশন

import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.tika.parser.pdf.PDFParser;
import org.apache.tika.parser.ocr.TesseractOCRConfig;
import org.apache.tika.sax.BodyContentHandler;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;

public class PDFWithOCR {
    public static void main(String[] args) {
        try {
            BodyContentHandler handler = new BodyContentHandler();
            Metadata metadata = new Metadata();
            ParseContext context = new ParseContext();

            // OCR কনফিগারেশন
            TesseractOCRConfig config = new TesseractOCRConfig();
            config.setLanguage("eng"); // ভাষা সেট করা
            context.set(TesseractOCRConfig.class, config);

            // পিডিএফ প্রসেস করা
            InputStream stream = new FileInputStream("scanned.pdf");
            PDFParser pdfParser = new PDFParser();
            pdfParser.parse(stream, handler, metadata, context);

            // টেক্সট প্রিন্ট করা
            System.out.println("Extracted Text: " + handler.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

অ্যাপাচি টিকা OCR-এর সুবিধা

  1. ইমেজ এবং পিডিএফ উভয়ের জন্য সাপোর্ট
  2. টেক্সট এক্সট্র্যাকশন স্বয়ংক্রিয় এবং দ্রুত
  3. ভাষা সাপোর্ট: বিভিন্ন ভাষার OCR প্রসেসিং সম্ভব।

সীমাবদ্ধতা

  • ইমেজ বা স্ক্যানের গুণগত মান খারাপ হলে সঠিকভাবে টেক্সট বের করা কঠিন।
  • বড় পিডিএফ ফাইল প্রসেসিংয়ে সময় বেশি লাগে।

সারাংশ:
অ্যাপাচি টিকা Tesseract OCR ব্যবহার করে ইমেজ এবং স্ক্যান করা পিডিএফ থেকে সহজে টেক্সট এক্সট্র্যাক্ট করতে পারে। এটি একটি শক্তিশালী টুল, যা ডেটা প্রসেসিং এবং ডকুমেন্ট অ্যানালাইসিসের ক্ষেত্রে কার্যকর ভূমিকা রাখে।

Content added By
Promotion

Are you sure to start over?

Loading...