বিদ্যমান Word ফাইল লোড করা

Word ফাইল থেকে ডেটা এক্সট্র্যাক্ট করা - অ্যাপাচি পিওআই (Apache POI) - Java Technologies

192

Apache POI লাইব্রেরি ব্যবহার করে আপনি বিদ্যমান Word ফাইল (যেমন .docx) সহজেই লোড এবং প্রক্রিয়া করতে পারেন। এতে আপনি ফাইলটি খুলে এর কন্টেন্ট (যেমন টেক্সট, টেবিল, চিত্র) অ্যাক্সেস করতে পারবেন, এবং চাইলে সেগুলোর মধ্যে পরিবর্তনও করতে পারবেন।

এখানে দেখানো হচ্ছে কিভাবে XWPFDocument ব্যবহার করে একটি বিদ্যমান Word ফাইল লোড করা হয়। XWPFDocument ক্লাসটি Apache POI তে .docx ফাইলের জন্য ব্যবহৃত হয়, যা Microsoft Word 2007 বা তার পরবর্তী সংস্করণে তৈরি ফাইলের সাথে কাজ করে।


1. বিদ্যমান Word ফাইল লোড করা

নিম্নলিখিত কোডে দেখানো হয়েছে কীভাবে একটি বিদ্যমান Word ফাইল লোড করা হয় এবং তার সেলের টেক্সট পড়া হয়।

উদাহরণ: Word ফাইল লোড করা এবং এর টেক্সট প্রিন্ট করা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;

public class LoadWordFileExample {
    public static void main(String[] args) throws IOException {
        // Word ফাইলের পাথ
        String filePath = "existing_word_file.docx";

        // FileInputStream তৈরি করা
        FileInputStream fis = new FileInputStream(filePath);

        // XWPFDocument এর মাধ্যমে Word ফাইল লোড করা
        XWPFDocument document = new XWPFDocument(fis);

        // Word ডকুমেন্টে থাকা প্যারাগ্রাফগুলো পড়া
        for (XWPFParagraph paragraph : document.getParagraphs()) {
            System.out.println(paragraph.getText());
        }

        // Word ডকুমেন্ট বন্ধ করা
        document.close();
        fis.close();
    }
}

এখানে:

  • FileInputStream ব্যবহার করে Word ফাইলটি লোড করা হচ্ছে।
  • XWPFDocument ব্যবহার করে Word ডকুমেন্টটি ওপেন করা হচ্ছে।
  • getParagraphs() মেথডটি ব্যবহার করে ডকুমেন্টের সকল প্যারাগ্রাফ পড়া হচ্ছে এবং getText() মেথড দ্বারা প্রতিটি প্যারাগ্রাফের টেক্সট প্রিন্ট করা হচ্ছে।

2. বিদ্যমান Word ফাইল থেকে Table ডেটা পড়া

Word ডকুমেন্টে যদি টেবিল থাকে, তবে XWPFTable ক্লাস ব্যবহার করে আপনি টেবিলের সেলগুলোও এক্সেস করতে পারবেন।

উদাহরণ: Word ডকুমেন্ট থেকে টেবিলের ডেটা পড়া

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileInputStream;
import java.io.IOException;

public class LoadWordTableExample {
    public static void main(String[] args) throws IOException {
        // Word ফাইলের পাথ
        String filePath = "existing_word_file_with_table.docx";

        // FileInputStream তৈরি করা
        FileInputStream fis = new FileInputStream(filePath);

        // XWPFDocument এর মাধ্যমে Word ফাইল লোড করা
        XWPFDocument document = new XWPFDocument(fis);

        // Word ডকুমেন্টে থাকা টেবিলগুলো পড়া
        for (XWPFTable table : document.getTables()) {
            for (XWPFTableRow row : table.getRows()) {
                for (XWPFTableCell cell : row.getTableCells()) {
                    System.out.print(cell.getText() + "\t");
                }
                System.out.println();
            }
        }

        // Word ডকুমেন্ট বন্ধ করা
        document.close();
        fis.close();
    }
}

এখানে:

  • getTables() মেথড ব্যবহার করে ডকুমেন্টের সকল টেবিল এক্সেস করা হয়েছে।
  • getRows() এবং getTableCells() মেথড ব্যবহার করে প্রতিটি রো এবং সেলের ডেটা পড়া হচ্ছে।

3. Word ডকুমেন্টে Image পড়া

Word ডকুমেন্টে যদি চিত্র (image) থাকে, আপনি XWPFPictureData ব্যবহার করে চিত্রের ডেটা এক্সেস করতে পারবেন।

উদাহরণ: Word ডকুমেন্ট থেকে চিত্র পড়া

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileInputStream;
import java.io.IOException;

public class LoadWordImagesExample {
    public static void main(String[] args) throws IOException {
        // Word ফাইলের পাথ
        String filePath = "existing_word_file_with_images.docx";

        // FileInputStream তৈরি করা
        FileInputStream fis = new FileInputStream(filePath);

        // XWPFDocument এর মাধ্যমে Word ফাইল লোড করা
        XWPFDocument document = new XWPFDocument(fis);

        // ডকুমেন্টে থাকা সকল চিত্র পড়া
        for (XWPFPictureData pictureData : document.getAllPictures()) {
            System.out.println("Image Type: " + pictureData.suggestFileExtension());
            System.out.println("Image Size: " + pictureData.getData().length + " bytes");
        }

        // Word ডকুমেন্ট বন্ধ করা
        document.close();
        fis.close();
    }
}

এখানে:

  • getAllPictures() মেথড ব্যবহার করে ডকুমেন্টের সকল চিত্রের ডেটা এক্সেস করা হয়েছে।
  • suggestFileExtension() মেথড দ্বারা চিত্রের ফাইল এক্সটেনশন এবং getData() মেথড দ্বারা চিত্রের ডেটা পাওয়া যাচ্ছে।

4. Error Handling

অন্যথায়, কিছু সম্ভাব্য ত্রুটি এড়াতে try-catch ব্লক ব্যবহার করা ভাল।

try (FileInputStream fis = new FileInputStream("existing_word_file.docx")) {
    XWPFDocument document = new XWPFDocument(fis);
    // Further processing here
} catch (IOException e) {
    System.err.println("Error reading the Word document: " + e.getMessage());
}

এখানে:

  • try-with-resources ব্যবহার করা হয়েছে যাতে ফাইল এবং ডকুমেন্ট অবজেক্ট সঠিকভাবে বন্ধ হয়।

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি বিদ্যমান Word ডকুমেন্ট (যেমন .docx) লোড করতে পারেন এবং তার মধ্যে থাকা টেক্সট, টেবিল, চিত্রসহ অন্যান্য কন্টেন্ট এক্সেস করতে পারেন। XWPFDocument ক্লাসটি এই কাজের জন্য ব্যবহৃত হয়, যেখানে getParagraphs(), getTables(), getAllPictures() ইত্যাদি মেথড ব্যবহার করে আপনি ডকুমেন্টের বিভিন্ন অংশ পড়তে পারেন। এই লাইব্রেরি আপনাকে Word ডকুমেন্টের বিভিন্ন তথ্য প্রক্রিয়া করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...