বিদ্যমান Word ডকুমেন্ট ওপেন এবং সম্পাদনা করা

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) XWPFDocument: Word ডকুমেন্ট তৈরি এবং ব্যবস্থাপনা |
113
113

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

এই প্রক্রিয়ায়, আপনি বিদ্যমান ডকুমেন্টে প্রোগ্রাম্যাটিকভাবে বিভিন্ন পরিবর্তন করতে পারবেন, যেমন:

  • টেক্সট বা প্যারাগ্রাফ পরিবর্তন
  • নতুন পৃষ্ঠা যোগ করা
  • টেবিল, চিত্র বা লিস্ট যোগ করা
  • ফন্ট স্টাইল এবং সাইজ পরিবর্তন
  • হেডিং এবং ফুটার পরিবর্তন

এখানে, আমরা একটি বিদ্যমান .docx ফাইল ওপেন করার এবং সেটিতে কিছু সাধারণ পরিবর্তন করার উদাহরণ দেখবো।


বিদ্যমান Word ডকুমেন্ট ওপেন করা

প্রথমে, আমরা একটি বিদ্যমান Word ডকুমেন্ট ওপেন করবো এবং সেটি সম্পাদনা করার জন্য প্রস্তুত করবো। নিচের কোডে আমরা একটি .docx ফাইল ওপেন করব:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class EditExistingWordDocument {
    public static void main(String[] args) throws IOException {
        // বিদ্যমান ডকুমেন্ট ওপেন করা
        FileInputStream fileInputStream = new FileInputStream("existingDocument.docx");
        XWPFDocument document = new XWPFDocument(fileInputStream);

        // নতুন প্যারাগ্রাফ তৈরি এবং এতে টেক্সট যোগ করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("This is the newly added text in the existing Word document.");

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("UpdatedDocument.docx")) {
            document.write(out);
        }

        System.out.println("বিদ্যমান ডকুমেন্ট সফলভাবে সম্পাদিত হয়েছে!");
    }
}

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

  • FileInputStream: এটি বিদ্যমান Word ডকুমেন্ট ওপেন করতে ব্যবহৃত হয়।
  • XWPFDocument: Word ডকুমেন্টের জন্য প্রধান অবজেক্ট।
  • createParagraph(): নতুন প্যারাগ্রাফ তৈরি করা।
  • createRun(): প্যারাগ্রাফের মধ্যে নতুন টেক্সট যোগ করা।

এই কোডটি existingDocument.docx নামক বিদ্যমান ডকুমেন্ট ওপেন করবে এবং সেখানে একটি নতুন প্যারাগ্রাফ যোগ করবে। তারপর এটি UpdatedDocument.docx নামে নতুন ডকুমেন্ট হিসেবে সংরক্ষণ করবে।


বিদ্যমান Word ডকুমেন্টে টেক্সট সম্পাদনা করা

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

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class ModifyExistingText {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = new FileInputStream("existingDocument.docx");
        XWPFDocument document = new XWPFDocument(fileInputStream);

        // সমস্ত প্যারাগ্রাফ পড়া
        List<XWPFParagraph> paragraphs = document.getParagraphs();

        // প্রথম প্যারাগ্রাফে টেক্সট পরিবর্তন
        if (!paragraphs.isEmpty()) {
            XWPFParagraph firstParagraph = paragraphs.get(0);
            XWPFRun run = firstParagraph.getRuns().get(0);  // প্রথম রান নির্বাচন
            run.setText("This is the updated text in the first paragraph.");
        }

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("UpdatedTextDocument.docx")) {
            document.write(out);
        }

        System.out.println("টেক্সট সফলভাবে পরিবর্তন করা হয়েছে!");
    }
}

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

  • getParagraphs(): ডকুমেন্টের সমস্ত প্যারাগ্রাফের তালিকা নেয়।
  • getRuns(): প্যারাগ্রাফের মধ্যে সমস্ত রান ফেরত দেয়। একটি রান সাধারণত একটি টেক্সটের অংশ।
  • setText(): রান এর টেক্সট পরিবর্তন করার জন্য ব্যবহৃত।

এই কোডটি ডকুমেন্টের প্রথম প্যারাগ্রাফের টেক্সট পরিবর্তন করবে এবং নতুন ডকুমেন্টে সেই পরিবর্তন সংরক্ষণ করবে।


বিদ্যমান Word ডকুমেন্টে টেবিল যোগ করা

যদি আপনার ডকুমেন্টে নতুন একটি টেবিল যোগ করতে চান, তাহলে আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;

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

public class AddTableToExistingDocument {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = new FileInputStream("existingDocument.docx");
        XWPFDocument document = new XWPFDocument(fileInputStream);

        // একটি নতুন টেবিল তৈরি করা
        XWPFTable table = document.createTable();

        // প্রথম রো তৈরি এবং সেল যোগ করা
        XWPFTableRow row = table.getRow(0);
        XWPFTableCell cell1 = row.getCell(0);
        XWPFTableCell cell2 = row.createCell();
        cell1.setText("Cell 1");
        cell2.setText("Cell 2");

        // নতুন রো যোগ করা
        XWPFTableRow newRow = table.createRow();
        XWPFTableCell newCell1 = newRow.getCell(0);
        XWPFTableCell newCell2 = newRow.createCell();
        newCell1.setText("New Cell 1");
        newCell2.setText("New Cell 2");

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("UpdatedDocumentWithTable.docx")) {
            document.write(out);
        }

        System.out.println("টেবিল সফলভাবে যোগ করা হয়েছে!");
    }
}

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

  • createTable(): একটি নতুন টেবিল তৈরি করে।
  • createRow(): একটি নতুন রো (সারি) তৈরি করে।
  • createCell(): একটি সেল তৈরি করে।

এই কোডটি একটি নতুন টেবিল যোগ করবে এবং সেলগুলোর মধ্যে কিছু টেক্সট সংযোজন করবে।


সারাংশ

Apache POI ব্যবহার করে বিদ্যমান Microsoft Word ডকুমেন্ট ওপেন এবং সম্পাদনা করা খুবই সহজ। আপনি টেক্সট পরিবর্তন, টেবিল যোগ করা, প্যারাগ্রাফ এবং রুনের স্টাইল কাস্টমাইজেশন, নতুন প্যারাগ্রাফ বা চিত্র যোগ করা ইত্যাদি কাজ করতে পারবেন। POI এর API সরল এবং পরিষ্কার, যা Java ডেভেলপারদের জন্য কার্যকরী এবং সময় সাশ্রয়ী। এই ধরনের ম্যানিপুলেশন ডকুমেন্ট জেনারেশন এবং কাস্টমাইজেশন প্রক্রিয়া অনেক সহজ করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion