Apache Tika দিয়ে ফাইলের Metadata এক্সট্র্যাক্ট করা

Metadata Extraction - অ্যাপাচি টিকা (Apache Tika) - Java Technologies

374

Apache Tika একটি শক্তিশালী ওপেন সোর্স লাইব্রেরি যা বিভিন্ন ধরনের ফাইল থেকে কন্টেন্ট এবং মেটাডেটা এক্সট্র্যাক্ট করার জন্য ব্যবহৃত হয়। মেটাডেটা হল ফাইলের সম্পর্কে অতিরিক্ত তথ্য, যেমন author, title, keywords, modification date, creation date, ইত্যাদি। Tika বিভিন্ন ফাইল ফরম্যাট থেকে মেটাডেটা এক্সট্র্যাক্ট করতে সক্ষম, যেমন PDF, Microsoft Office, OpenOffice, HTML, XML, image files, ইত্যাদি।

এই আর্টিকেলে, আমরা Apache Tika ব্যবহার করে বিভিন্ন ফাইল ফরম্যাট থেকে মেটাডেটা এক্সট্র্যাক্ট করার পদ্ধতি এবং উদাহরণ আলোচনা করব।


১. Tika দিয়ে মেটাডেটা এক্সট্র্যাক্ট করা

Apache Tika Java অ্যাপ্লিকেশন থেকে মেটাডেটা এক্সট্র্যাক্ট করতে খুব সহজভাবে কাজ করতে সহায়তা করে। Tika AutoDetectParser ব্যবহার করে ফাইলের মেটাডেটা বের করতে পারে এবং এই তথ্য একটি Metadata অবজেক্টে সঞ্চয়িত হয়। তারপর আপনি এই মেটাডেটা বিভিন্ন উপায়ে অ্যাক্সেস করতে পারেন, যেমন get() মেথডের মাধ্যমে।

মেটাডেটা এক্সট্র্যাক্ট করার উদাহরণ (যেমন PDF ফাইল)

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.FileInputStream;

public class TikaMetadataExample {
    public static void main(String[] args) {
        try {
            // ফাইল থেকে মেটাডেটা এক্সট্র্যাক্ট করার জন্য ইনপুট স্ট্রিম তৈরি
            FileInputStream stream = new FileInputStream("example.pdf");
            Metadata metadata = new Metadata();
            AutoDetectParser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();
            
            // Parser মেথড দিয়ে ফাইলের মেটাডেটা এক্সট্র্যাক্ট করা
            parser.parse(stream, handler, metadata);

            // এক্সট্র্যাক্ট করা মেটাডেটা প্রিন্ট করা
            String[] metadataNames = metadata.names();
            for (String name : metadataNames) {
                System.out.println(name + ": " + metadata.get(name));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোড ব্যাখ্যা:

  • FileInputStream ব্যবহার করে example.pdf ফাইলটি খোলা হয়েছে।
  • AutoDetectParser ব্যবহার করে ফাইলের কন্টেন্ট এবং মেটাডেটা এক্সট্র্যাক্ট করা হয়েছে।
  • Metadata অবজেক্টটি ফাইলের সমস্ত মেটাডেটা ধারণ করে, এবং এই মেটাডেটাগুলি metadata.names() ব্যবহার করে প্রিন্ট করা হয়েছে।
  • এর মাধ্যমে, author, title, keywords, creation date, modified date ইত্যাদি মেটাডেটা এক্সট্র্যাক্ট করা যাবে।

২. ফাইলের বিভিন্ন ধরনের মেটাডেটা এক্সট্র্যাক্ট করা

Tika ব্যবহার করে আপনি একাধিক ধরনের ফাইল থেকে মেটাডেটা এক্সট্র্যাক্ট করতে পারেন। নিম্নলিখিত ফাইল ফরম্যাটগুলির জন্য মেটাডেটা এক্সট্র্যাক্ট করার কিছু উদাহরণ দেওয়া হল:

Word Document (.docx) থেকে মেটাডেটা এক্সট্র্যাক্ট

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.FileInputStream;

public class WordMetadataExample {
    public static void main(String[] args) {
        try {
            // Word ডকুমেন্টের মেটাডেটা এক্সট্র্যাক্ট
            FileInputStream stream = new FileInputStream("example.docx");
            Metadata metadata = new Metadata();
            AutoDetectParser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();
            parser.parse(stream, handler, metadata);

            // মেটাডেটা প্রিন্ট করা
            String[] metadataNames = metadata.names();
            for (String name : metadataNames) {
                System.out.println(name + ": " + metadata.get(name));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এখানে, example.docx ফাইল থেকে মেটাডেটা যেমন author, title, keywords ইত্যাদি এক্সট্র্যাক্ট করা হবে।

Image File (JPEG) থেকে মেটাডেটা এক্সট্র্যাক্ট

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.FileInputStream;

public class ImageMetadataExample {
    public static void main(String[] args) {
        try {
            // Image ফাইল থেকে মেটাডেটা এক্সট্র্যাক্ট করা
            FileInputStream stream = new FileInputStream("example.jpg");
            Metadata metadata = new Metadata();
            AutoDetectParser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();
            parser.parse(stream, handler, metadata);

            // মেটাডেটা প্রিন্ট করা
            String[] metadataNames = metadata.names();
            for (String name : metadataNames) {
                System.out.println(name + ": " + metadata.get(name));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এই কোডটি JPEG ইমেজ ফাইলের মেটাডেটা (যেমন image width, image height, author, ইত্যাদি) এক্সট্র্যাক্ট করবে।


৩. Tika দিয়ে PDF ফাইলের মেটাডেটা এক্সট্র্যাক্ট করা

Apache Tika PDF ফাইল থেকে মেটাডেটা এক্সট্র্যাক্ট করতে খুবই কার্যকরী। এটি PDF ফাইলের author, creator, producer, creation date, modification date ইত্যাদি মেটাডেটা বের করতে পারে।

PDF ফাইলের মেটাডেটা এক্সট্র্যাক্ট করার উদাহরণ

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.FileInputStream;

public class PdfMetadataExample {
    public static void main(String[] args) {
        try {
            // PDF ফাইলের মেটাডেটা এক্সট্র্যাক্ট করা
            FileInputStream stream = new FileInputStream("example.pdf");
            Metadata metadata = new Metadata();
            AutoDetectParser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();
            parser.parse(stream, handler, metadata);

            // মেটাডেটা প্রিন্ট করা
            String[] metadataNames = metadata.names();
            for (String name : metadataNames) {
                System.out.println(name + ": " + metadata.get(name));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এখানে, example.pdf ফাইল থেকে মেটাডেটা যেমন author, title, producer, creation date ইত্যাদি এক্সট্র্যাক্ট করা হবে।


৪. MIME Type Detection এবং File Identification

Tika ব্যবহার করে আপনি MIME টাইপ ডিটেকশন করতে পারেন এবং সঠিকভাবে ফাইলের টাইপও সনাক্ত করতে পারেন। এটি বিশেষভাবে ফাইলের এক্সটেনশন অনুযায়ী না গিয়ে তার প্রকৃত কন্টেন্ট বিশ্লেষণ করে সঠিক টাইপ ডিটেক্ট করে।

MIME Type Detection উদাহরণ

import org.apache.tika.Tika;
import java.io.File;

public class MimeTypeDetectionExample {
    public static void main(String[] args) {
        Tika tika = new Tika();
        try {
            // MIME টাইপ ডিটেক্ট করা
            String mimeType = tika.detect(new File("example.pdf"));
            System.out.println("Detected MIME Type: " + mimeType);  // Output: application/pdf
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এখানে, Tika ফাইলের MIME টাইপ সনাক্ত করবে, যা application/pdf হতে পারে।


সারাংশ

Apache Tika একটি শক্তিশালী টুল যা বিভিন্ন ধরনের ফাইল থেকে মেটাডেটা এবং কন্টেন্ট এক্সট্র্যাক্ট করতে সক্ষম। এটি PDF, Word, Excel, JPEG, HTML, OpenOffice এবং অন্যান্য ফাইল ফরম্যাট থেকে সঠিকভাবে মেটাডেটা বের করতে সাহায্য করে। MIME টাইপ ডিটেকশন, Content Extraction, এবং Metadata Extraction এর মাধ্যমে Tika সহজেই ফাইলের গুরুত্বপূর্ণ তথ্য বের করতে পারে। Apache Tika ব্যবহার করে আপনি ফাইল থেকে এক্সট্র্যাক্ট করা কন্টেন্ট এবং মেটাডেটা বিশ্লেষণ, ডকুমেন্ট ম্যানেজমেন্ট, এবং অনুসন্ধান সিস্টেমে কাজে লাগাতে পারেন।


Content added By
Promotion

Are you sure to start over?

Loading...