অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্টে Endnotes যোগ এবং সম্পাদনা করা সম্ভব। Endnotes সাধারণত এক বা একাধিক পৃষ্ঠার শেষে টেক্সট বা নোট যুক্ত করার জন্য ব্যবহৃত হয়। এটি মূলত সূত্র, ব্যাখ্যা বা অন্যান্য গুরুত্বপূর্ণ তথ্যের জন্য ব্যবহৃত হয় যা মূল পৃষ্ঠার বাইরে প্রদর্শিত হয়।
Apache POI এর মাধ্যমে আপনি Endnotes যোগ করতে পারেন, তবে এটি কিছুটা জটিল হতে পারে কারণ POI সরাসরি Endnotes পরিচালনা করার জন্য প্রাকৃতিক সমর্থন প্রদান করে না। তবে, আপনি XML Cursor ব্যবহার করে Endnotes সম্পর্কিত অংশগুলি তৈরি এবং সম্পাদনা করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.*;
public class AddEndnotesToWord {
public static void main(String[] args) throws Exception {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// প্যারাগ্রাফে টেক্সট যোগ করা
run.setText("This is an example of a document with Endnotes.");
// Endnote এর জন্য Text যোগ করা
String endnoteText = "This is the content of the endnote.";
// Endnote যোগ করার জন্য XmlCursor ব্যবহার
XmlCursor cursor = run.getCTR().newCursor();
cursor.toFirstChild();
cursor.insertNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
// Endnote শুরু
cursor.beginElement("w:endnote");
cursor.insertAttributeWithValue("w:id", "1");
cursor.insertAttributeWithValue("w:type", "reference");
// Endnote এর টেক্সট
cursor.beginElement("w:t");
cursor.insertText(endnoteText);
cursor.toEndToken();
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("word_with_endnote.docx")) {
document.write(out);
}
System.out.println("Endnote successfully added to document!");
}
}
w:endnote
এলিমেন্ট তৈরি করা হয়েছে। এতে Endnote-এর id, type, এবং text অন্তর্ভুক্ত করা হয়েছে।w:endnote
এলিমেন্ট ব্যবহার করে Endnote যোগ করা হয়েছে।w:t
এলিমেন্টের মাধ্যমে Endnote এর টেক্সট যোগ করা হয়েছে।word_with_endnote.docx
নামে সেভ করা হয়েছে।যদি আপনি একটি বিদ্যমান Word ডকুমেন্টে Endnotes সম্পাদনা করতে চান, তবে আপনাকে প্রথমে ডকুমেন্ট থেকে Endnotes খুঁজে বের করতে হবে এবং তারপর প্রয়োজনীয় পরিবর্তন করতে হবে। XmlCursor ব্যবহার করে Endnotes খুঁজে বের করা এবং তাদের সম্পাদনা করা সম্ভব।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.*;
public class EditEndnotesInWord {
public static void main(String[] args) throws Exception {
// বিদ্যমান Word ডকুমেন্ট লোড করা
FileInputStream fileInputStream = new FileInputStream("word_with_endnote.docx");
XWPFDocument document = new XWPFDocument(fileInputStream);
// XmlCursor ব্যবহার করে Endnotes খুঁজে বের করা
XWPFParagraph paragraph = document.getParagraphArray(0);
XWPFRun run = paragraph.getRuns().get(0);
XmlCursor cursor = run.getCTR().newCursor();
cursor.selectPath("./*");
// Endnote সম্পাদনা করা
while (cursor.toNextSelection()) {
if ("endnote".equals(cursor.getName().getLocalPart())) {
cursor.toFirstChild();
// Endnote টেক্সট পরিবর্তন
cursor.insertText("This is the edited endnote content.");
break;
}
}
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("edited_word_with_endnote.docx")) {
document.write(out);
}
System.out.println("Endnote successfully edited!");
}
}
FileInputStream
ব্যবহার করে Word ডকুমেন্ট লোড করা হয়।XmlCursor
ব্যবহার করে ডকুমেন্টের সকল Endnote এলিমেন্ট চিহ্নিত করা হয়।cursor.insertText()
মেথড ব্যবহার করে Endnote এর টেক্সট পরিবর্তন করা হয়।Apache POI ব্যবহার করে Word ডকুমেন্টে Endnotes যোগ এবং সম্পাদনা করা সম্ভব। XmlCursor এর সাহায্যে আপনি ডকুমেন্টে Endnote এর স্টার্ট এবং এনড এলিমেন্ট তৈরি করতে পারেন এবং পরে টেক্সট যোগ বা সম্পাদনা করতে পারেন। Endnotes মূলত গবেষণা বা অ্যাকাডেমিক লেখায় ব্যবহৃত হয়, যেখানে অতিরিক্ত তথ্য বা ব্যাখ্যার জন্য আলাদা স্থান দরকার হয়।
common.read_more