Apache POI একটি শক্তিশালী ওপেন সোর্স লাইব্রেরি, যা Microsoft Office ফাইল ফরম্যাটগুলির ম্যানিপুলেশন করতে সক্ষম। বিশেষত, Microsoft Word ফাইল ফরম্যাটের জন্য POI দুটি প্রধান ক্লাস প্রদান করে: HWPF এবং XWPF। এই ক্লাস দুটি .doc এবং .docx ফরম্যাটের ফাইলের জন্য আলাদা আলাদা সমর্থন প্রদান করে।
.docx ফাইল ফরম্যাটটি Office Open XML (OOXML) ফরম্যাটে ভিত্তি করে তৈরি, যা Microsoft Word 2007 এবং পরবর্তী সংস্করণের জন্য ডিজাইন করা হয়েছে। এটি একটি আধুনিক এবং উন্নত ফরম্যাট যা XML ভিত্তিক, ফলে এটি অন্যান্য প্ল্যাটফর্মে সহজে এক্সপোর্ট এবং ইমপোর্ট করা যায়।
.doc ফরম্যাটটি Microsoft Word 97-2003 এর জন্য ব্যবহৃত ছিল এবং এটি একটি বাইনারি ফরম্যাট। এই ফাইলটি একটি পুরনো ফরম্যাট হওয়ায় আধুনিক প্ল্যাটফর্মে ব্যবহার করা কিছুটা সীমিত হতে পারে, তবে এখনও অনেক legacy সিস্টেমে এটি ব্যবহৃত হয়।
বৈশিষ্ট্য | DOC (Word 97-2003) | DOCX (Word 2007+) |
---|---|---|
ফাইল ফরম্যাট | বাইনারি ফরম্যাট | XML ভিত্তিক ফরম্যাট |
ফরম্যাটিং | সীমিত | উন্নত এবং কাস্টমাইজযোগ্য |
টেবিল, ছবি, চার্ট | সীমিত | সম্পূর্ণ সমর্থন |
এডিটিং এবং প্রসেসিং | সহজ নয়, বাইনারি | সহজ, XML ভিত্তিক |
ফাইল সাইজ | ছোট কিন্তু কম কার্যকরী | বড়, তবে আরও কার্যকরী |
গ্রাফিক্স এবং অ্যানিমেশন | সীমিত | সমর্থিত |
পারফরম্যান্স | তুলনামূলকভাবে ধীর | দ্রুত এবং কার্যকরী |
Apache POI ব্যবহার করে আপনি .doc এবং .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.*;
public class WordFileExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("input.docx")) {
XWPFDocument document = new XWPFDocument(fis);
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("এটি একটি নতুন টেক্সট।");
try (FileOutputStream fos = new FileOutputStream("output.docx")) {
document.write(fos);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import java.io.*;
public class WordFileExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("input.doc")) {
HWPFDocument document = new HWPFDocument(fis);
Range range = document.getRange();
System.out.println("Document Text: " + range.text());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Apache POI .doc এবং .docx ফরম্যাটের ফাইল ম্যানিপুলেশনে শক্তিশালী টুল হিসেবে কাজ করে। যেখানে XWPF আধুনিক .docx ফাইল ফরম্যাটের জন্য একটি উন্নত এবং নমনীয় লাইব্রেরি, HWPF পুরনো .doc ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। .docx ফরম্যাটটি XML ভিত্তিক হওয়ায় অনেক বেশি ফিচার এবং সহজ প্রসেসিং সমর্থন করে, যেখানে .doc বাইনারি ফরম্যাট হওয়ায় এর কিছু সীমাবদ্ধতা রয়েছে।
common.read_more