Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে comments এবং changes (যেমন, track changes বা revisions) যোগ করা এবং তাদের সম্পর্ক ব্যবস্থাপনা করা সম্ভব। Track changes ফিচারটি ডকুমেন্টের পরিবর্তনগুলির ইতিহাস এবং সংশোধনীকে সঠিকভাবে ট্র্যাক করতে সহায়তা করে, যেখানে comments ব্যবহারকারীদের মন্তব্য এবং পরামর্শ যোগ করার জন্য ব্যবহৃত হয়।
এই টিউটোরিয়ালে আমরা দেখবো কিভাবে comments এবং changes যোগ করা যায় এবং কীভাবে তাদের সম্পর্ককে track changes এর মাধ্যমে প্রাকটিক্যালভাবে সংযুক্ত করা যায়।
প্রথমে, comments এবং changes যোগ করার জন্য Word ডকুমেন্টে revisions ট্র্যাক করা প্রয়োজন। এটি সাধারণত insertions, deletions, এবং formatting changes এর ক্ষেত্রে কার্যকর হয়।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFComment;
import java.io.FileOutputStream;
import java.io.IOException;
public class TrackChangesAndCommentsExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("এটি একটি ডকুমেন্টের উদাহরণ, যেখানে কমেন্ট এবং পরিবর্তন ট্র্যাক করা হবে।");
// প্রথম কমেন্ট যোগ করা
XWPFComment comment1 = new XWPFComment();
comment1.setAuthor("Author1");
comment1.setText("এটি প্রথম মন্তব্য।");
run.addComment(comment1); // কমেন্ট রানটিতে যুক্ত করা
// একটি টেক্সট পরিবর্তন যোগ করা (বোল্ড টেক্সট যোগ করা)
XWPFRun run2 = paragraph.createRun();
run2.setBold(true);
run2.setText(" এই অংশটি পরিবর্তন করা হয়েছে।");
// দ্বিতীয় কমেন্ট যোগ করা
XWPFComment comment2 = new XWPFComment();
comment2.setAuthor("Author2");
comment2.setText("এটি দ্বিতীয় মন্তব্য।");
run2.addComment(comment2); // দ্বিতীয় কমেন্ট রানটিতে যুক্ত করা
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("TrackChangesAndCommentsExample.docx")) {
document.write(out);
}
System.out.println("Comments and changes added successfully!");
}
}
Track Changes ফিচারটি ডকুমেন্টে insertions, deletions, এবং formatting changes ট্র্যাক করতে সহায়তা করে। এতে ডকুমেন্টের পরিবর্তনগুলো স্বয়ংক্রিয়ভাবে চিহ্নিত হয় এবং আপনি সেই পরিবর্তনগুলো দেখার জন্য মন্তব্যও যোগ করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
public class TrackInsertionsAndDeletions {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run1 = paragraph.createRun();
run1.setText("এই ডকুমেন্টে পরিবর্তনগুলো ট্র্যাক করা হবে।");
// টেক্সট ইনসার্ট করা (Insertions)
XWPFRun run2 = paragraph.createRun();
run2.setText(" এই অংশটি নতুনভাবে যোগ করা হয়েছে।");
run2.setBold(true); // নতুন যোগ করা অংশটিতে বোল্ড স্টাইল দেওয়া হয়েছে।
// টেক্সট মুছে ফেলা (Deletions)
XWPFRun run3 = paragraph.createRun();
run3.setText("এই অংশটি মুছে ফেলা হবে।");
run3.setStrike(true); // মুছে ফেলা অংশটি স্ট্রাইকথ্রু করা হয়েছে।
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("TrackInsertionsAndDeletions.docx")) {
document.write(out);
}
System.out.println("Insertions and deletions tracked successfully!");
}
}
Track Changes এবং Comments দুটি ফিচারই ডকুমেন্টের পরিবর্তন এবং পর্যালোচনা ইতিহাস ট্র্যাক করতে ব্যবহৃত হয়, কিন্তু তাদের মধ্যে পার্থক্য হলো:
যখন track changes ফিচার ব্যবহার করা হয়, তখন comments সেই পরিবর্তনগুলোর পাশে নির্দিষ্ট করে দেয়া যায়, যেমন কে কী পরিবর্তন করেছেন বা কেন সেই পরিবর্তনটি করা হয়েছে।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFComment;
import java.io.FileOutputStream;
import java.io.IOException;
public class TrackChangesWithComments {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("এই ডকুমেন্টে পরিবর্তন এবং মন্তব্য যোগ করা হয়েছে।");
// প্রথম টেক্সট পরিবর্তন (Bold)
XWPFRun run1 = paragraph.createRun();
run1.setBold(true);
run1.setText(" এই অংশটি বোল্ড করা হয়েছে।");
// প্রথম কমেন্ট
XWPFComment comment1 = new XWPFComment();
comment1.setAuthor("Author1");
comment1.setText("এটি একটি বোল্ড কমেন্ট।");
run1.addComment(comment1); // কমেন্ট রানটিতে যুক্ত করা
// দ্বিতীয় টেক্সট পরিবর্তন (Strike-through)
XWPFRun run2 = paragraph.createRun();
run2.setText(" এই অংশটি মুছে ফেলা হবে।");
run2.setStrike(true); // স্ট্রাইকথ্রু অ্যাপ্লাই করা
// দ্বিতীয় কমেন্ট
XWPFComment comment2 = new XWPFComment();
comment2.setAuthor("Author2");
comment2.setText("এটি একটি মুছে ফেলা কমেন্ট।");
run2.addComment(comment2); // কমেন্ট রানটিতে যুক্ত করা
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("TrackChangesWithComments.docx")) {
document.write(out);
}
System.out.println("Track changes and comments relationship created successfully!");
}
}
Track Changes এবং Comments ডকুমেন্টে পরিবর্তন এবং পর্যালোচনা প্রক্রিয়া পরিচালনার দুটি গুরুত্বপূর্ণ অংশ। **Track Changes
common.read_more