Apache POI এর XWPFDocument ক্লাসটি ব্যবহার করে আপনি Microsoft Word (DOCX) ডকুমেন্ট তৈরি, পড়া, এবং সংশোধন করতে পারেন। XWPF (XML Word Processor Format) হল সেই API যা DOCX ফরম্যাটের ফাইলগুলো পরিচালনা করার জন্য ব্যবহৃত হয়।
এখানে XWPFDocument এর মাধ্যমে Word ডকুমেন্ট তৈরি এবং বিভিন্ন উপাদান যেমন প্যারাগ্রাফ, টেবিল, টেক্সট ফরম্যাটিং এবং চিত্র যোগ করার পদ্ধতি দেখানো হয়েছে।
XWPFDocument ব্যবহার করে একটি নতুন Word ডকুমেন্ট তৈরি করা যায়। নিচে একটি সহজ উদাহরণ দেওয়া হয়েছে:
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateWordDocument {
public static void main(String[] args) throws IOException {
// নতুন ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
paragraph.createRun().setText("Hello, this is a new Word document created using Apache POI.");
// ডকুমেন্টটি সেভ করা
try (FileOutputStream out = new FileOutputStream("created_document.docx")) {
document.write(out);
}
System.out.println("Word ডকুমেন্ট তৈরি করা হয়েছে!");
}
}
এখানে, createParagraph() মেথডের মাধ্যমে একটি নতুন প্যারাগ্রাফ তৈরি করা হয়েছে এবং createRun() মেথড ব্যবহার করে টেক্সট যোগ করা হয়েছে। পরিশেষে, write() মেথডের মাধ্যমে ডকুমেন্টটি একটি ফাইলে সেভ করা হয়েছে।
XWPFDocument এর মাধ্যমে আপনি Word ডকুমেন্টে টেক্সট ফরম্যাটিং (যেমন bold, italic, underline, font size, font color) করতে পারেন।
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 StyleTextInWord {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// টেক্সট যোগ এবং ফরম্যাট করা
run.setText("This is bold, italic, and underlined text.");
run.setBold(true); // bold
run.setItalic(true); // italic
run.setUnderline(true); // underline
run.setFontSize(16); // font size
run.setFontColor("FF5733"); // font color (hex)
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("styled_document.docx")) {
document.write(out);
}
System.out.println("Styled Word ডকুমেন্ট তৈরি হয়েছে!");
}
}
এখানে, setBold(), setItalic(), setUnderline(), setFontSize(), এবং setFontColor() মেথড ব্যবহার করে টেক্সট ফরম্যাটিং করা হয়েছে।
XWPFDocument এর মাধ্যমে আপনি প্যারাগ্রাফের alignment, spacing, এবং indentation সেট করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomizeParagraph {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফে টেক্সট যোগ করা
paragraph.createRun().setText("This is a left-aligned paragraph.");
// প্যারাগ্রাফের alignment সেট করা
paragraph.setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.LEFT);
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("paragraph_alignment.docx")) {
document.write(out);
}
System.out.println("Paragraph Alignment Word ডকুমেন্ট তৈরি হয়েছে!");
}
}
এখানে, setAlignment() মেথড ব্যবহার করে প্যারাগ্রাফের alignment (যেমন LEFT, CENTER, RIGHT) সেট করা হয়েছে।
Word ডকুমেন্টে টেবিল তৈরি করা সম্ভব XWPFDocument ব্যবহার করে। নিচে টেবিল তৈরি এবং কাস্টমাইজ করার একটি উদাহরণ দেওয়া হলো:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateTableInWord {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// একটি টেবিল তৈরি করা (2 রো এবং 3 কলাম)
XWPFTable table = document.createTable(2, 3);
// টেবিলের প্রথম রোতে টেক্সট যোগ করা
XWPFTableRow row = table.getRow(0);
row.getCell(0).setText("Header 1");
row.getCell(1).setText("Header 2");
row.getCell(2).setText("Header 3");
// টেবিলের দ্বিতীয় রোতে টেক্সট যোগ করা
row = table.getRow(1);
row.getCell(0).setText("Data 1");
row.getCell(1).setText("Data 2");
row.getCell(2).setText("Data 3");
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("table_document.docx")) {
document.write(out);
}
System.out.println("Word ডকুমেন্টে টেবিল তৈরি করা হয়েছে!");
}
}
এখানে, createTable() মেথডের মাধ্যমে একটি টেবিল তৈরি করা হয়েছে, এবং getRow() ও getCell() মেথড ব্যবহার করে টেবিলের সেলে টেক্সট যোগ করা হয়েছে।
আপনি Word ডকুমেন্টে চিত্রও যোগ করতে পারেন। নিচে একটি চিত্র যোগ করার উদাহরণ দেওয়া হলো:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddImageToWord {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// চিত্র যোগ করা
String imagePath = "image.jpg";
XWPFPictureData pictureData = document.addPictureData(new FileInputStream(imagePath), XWPFDocument.PICTURE_TYPE_JPEG);
XWPFPicture picture = paragraph.createRun().addPicture(pictureData, XWPFDocument.PICTURE_TYPE_JPEG, imagePath, Units.toEMU(100), Units.toEMU(100)); // 100x100 pixels
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("image_in_document.docx")) {
document.write(out);
}
System.out.println("Word ডকুমেন্টে চিত্র যোগ করা হয়েছে!");
}
}
এখানে, addPictureData() মেথডের মাধ্যমে একটি চিত্র DOCX ডকুমেন্টে যোগ করা হয়েছে।
XWPFDocument এর মাধ্যমে আপনি সহজে Word ডকুমেন্ট তৈরি এবং সম্পাদনা করতে পারেন। এতে প্যারাগ্রাফ, টেবিল, চিত্র যোগ করা, টেক্সট ফরম্যাটিং এবং alignment কাস্টমাইজ করা সম্ভব। এছাড়া, চিত্র যোগ এবং টেবিল ম্যানিপুলেশনসহ অন্যান্য প্রক্রিয়া করতে আপনি XWPF API ব্যবহার করতে পারেন, যা ডকুমেন্ট তৈরির কার্যকরী এবং শক্তিশালী উপায় প্রদান করে।
Apache POI লাইব্রেরির XWPFDocument ক্লাস ব্যবহার করে আপনি সহজেই Word ডকুমেন্ট (.docx ফাইল) তৈরি করতে পারেন। এই ক্লাসটি Apache POI's XWPF (XML Word Processing Format) এর অংশ এবং এটি মূলত Microsoft Word 2007 এবং তার পরবর্তী সংস্করণের .docx ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। XWPFDocument ক্লাসটি প্যারাগ্রাফ, টেবিল, ছবি, শিরোনাম, এবং আরও অনেক উপাদান তৈরি ও সম্পাদনা করার ক্ষমতা প্রদান করে।
এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে XWPFDocument ক্লাস ব্যবহার করে একটি নতুন 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.FileOutputStream;
import java.io.IOException;
public class CreateWordDocument {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফে টেক্সট যোগ করা
XWPFRun run = paragraph.createRun();
run.setText("Hello, this is a Word document created using Apache POI!");
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_word_document.docx")) {
document.write(out);
}
System.out.println("Word ফাইল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি চালানোর পর, example_word_document.docx নামক একটি নতুন Word ডকুমেন্ট তৈরি হবে, যেখানে একটি প্যারাগ্রাফ থাকবে এবং সেটির মধ্যে টেক্সট থাকবে: "Hello, this is a Word document created using Apache POI!"
আপনি XWPFRun এর মাধ্যমে ফন্টের স্টাইল, সাইজ, এবং অন্যান্য ফরম্যাটিং পরিবর্তন করতে পারেন।
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 StyledWordDocument {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// টেক্সট যোগ করা এবং তার স্টাইল পরিবর্তন করা
XWPFRun run = paragraph.createRun();
run.setText("Hello, this is a styled Word document!");
run.setFontSize(14); // ফন্ট সাইজ ১৪
run.setBold(true); // বোল্ড ফন্ট
run.setItalic(true); // ইটালিক ফন্ট
run.setFontFamily("Arial"); // ফন্ট ফ্যামিলি
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("styled_word_document.docx")) {
document.write(out);
}
System.out.println("Styled Word ফাইল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডের মাধ্যমে আপনি একটি সজ্জিত Word ডকুমেন্ট তৈরি করতে পারবেন, যেখানে টেক্সট বোল্ড এবং ইটালিক স্টাইলের হবে।
XWPFDocument ক্লাসের মাধ্যমে আপনি Word ডকুমেন্টে টেবিল যোগ করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateTableInWord {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি করা
XWPFTable table = document.createTable();
// প্রথম সারি তৈরি
XWPFTableRow row = table.getRow(0);
XWPFTableCell cell1 = row.getCell(0);
cell1.setText("Cell 1");
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
XWPFTableCell cell2 = row2.getCell(0);
cell2.setText("Cell 2");
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("word_document_with_table.docx")) {
document.write(out);
}
System.out.println("Word ডকুমেন্টে টেবিল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি চালানোর পর একটি Word ডকুমেন্ট তৈরি হবে যেখানে একটি টেবিল থাকবে।
XWPFDocument ক্লাস ব্যবহার করে আপনি সহজেই Word ডকুমেন্ট তৈরি, সম্পাদনা, টেক্সট যোগ, ফন্ট স্টাইল পরিবর্তন, এবং টেবিল যোগ করতে পারেন। এটি Apache POI লাইব্রেরির একটি গুরুত্বপূর্ণ অংশ, যা .docx ফাইল ফরম্যাটের সাথে কাজ করার জন্য অত্যন্ত কার্যকরী। আপনার প্রয়োজন অনুসারে আপনি আরও বিভিন্ন ধরণের কাস্টমাইজেশন এবং ফরম্যাটিং করতে পারবেন।
Apache POI এর মাধ্যমে আপনি বিদ্যমান Microsoft Word ডকুমেন্ট ওপেন এবং সেগুলোর মধ্যে প্রয়োজনীয় সম্পাদনা করতে পারেন। এটি আপনাকে .doc এবং .docx ফরম্যাটের ডকুমেন্ট পড়া, সম্পাদনা করা, নতুন কনটেন্ট যোগ করা, এবং ডকুমেন্টের ফরম্যাট পরিবর্তন করার সুবিধা প্রদান করে। আপনি যেমন টেবিল যোগ করতে পারেন, টেক্সট পরিবর্তন করতে পারেন, প্যারাগ্রাফ এবং রুন স্টাইল করতে পারেন, কিংবা চিত্র ও গ্রাফিক্স সংযোজন করতে পারেন।
এই প্রক্রিয়ায়, আপনি বিদ্যমান ডকুমেন্টে প্রোগ্রাম্যাটিকভাবে বিভিন্ন পরিবর্তন করতে পারবেন, যেমন:
এখানে, আমরা একটি বিদ্যমান .docx ফাইল ওপেন করার এবং সেটিতে কিছু সাধারণ পরিবর্তন করার উদাহরণ দেখবো।
প্রথমে, আমরা একটি বিদ্যমান 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("বিদ্যমান ডকুমেন্ট সফলভাবে সম্পাদিত হয়েছে!");
}
}
এই কোডটি existingDocument.docx নামক বিদ্যমান ডকুমেন্ট ওপেন করবে এবং সেখানে একটি নতুন প্যারাগ্রাফ যোগ করবে। তারপর এটি UpdatedDocument.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;
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("টেক্সট সফলভাবে পরিবর্তন করা হয়েছে!");
}
}
এই কোডটি ডকুমেন্টের প্রথম প্যারাগ্রাফের টেক্সট পরিবর্তন করবে এবং নতুন ডকুমেন্টে সেই পরিবর্তন সংরক্ষণ করবে।
যদি আপনার ডকুমেন্টে নতুন একটি টেবিল যোগ করতে চান, তাহলে আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:
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("টেবিল সফলভাবে যোগ করা হয়েছে!");
}
}
এই কোডটি একটি নতুন টেবিল যোগ করবে এবং সেলগুলোর মধ্যে কিছু টেক্সট সংযোজন করবে।
Apache POI ব্যবহার করে বিদ্যমান Microsoft Word ডকুমেন্ট ওপেন এবং সম্পাদনা করা খুবই সহজ। আপনি টেক্সট পরিবর্তন, টেবিল যোগ করা, প্যারাগ্রাফ এবং রুনের স্টাইল কাস্টমাইজেশন, নতুন প্যারাগ্রাফ বা চিত্র যোগ করা ইত্যাদি কাজ করতে পারবেন। POI এর API সরল এবং পরিষ্কার, যা Java ডেভেলপারদের জন্য কার্যকরী এবং সময় সাশ্রয়ী। এই ধরনের ম্যানিপুলেশন ডকুমেন্ট জেনারেশন এবং কাস্টমাইজেশন প্রক্রিয়া অনেক সহজ করে তোলে।
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্ট (যেমন .docx
ফাইল) তৈরি করার পর, সেই ডকুমেন্টটি সঠিকভাবে সংরক্ষণ (save) করা অত্যন্ত গুরুত্বপূর্ণ। এটি করার জন্য, XWPFDocument
ক্লাসটি ব্যবহৃত হয়, যার মাধ্যমে আপনি একটি Word ডকুমেন্ট তৈরি এবং তার বিভিন্ন উপাদান যেমন টেক্সট, টেবিল, ছবি, ইত্যাদি যোগ করতে পারেন। এরপর, এই ডকুমেন্টটি ফাইল সিস্টেমে সংরক্ষণ করার জন্য FileOutputStream ব্যবহার করা হয়।
এখানে একটি সাধারণ উদাহরণ দেওয়া হলো, যা Apache POI ব্যবহার করে Word ডকুমেন্ট সংরক্ষণ (save) করার প্রক্রিয়াটি ব্যাখ্যা করে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class SaveWordDocumentExample {
public static void main(String[] args) throws IOException {
// নতুন একটি Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি করা এবং টেক্সট যোগ করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Hello, Apache POI! This is a sample Word document.");
run.setBold(true); // বোল্ড টেক্সট
// একটি টেবিল তৈরি করা
XWPFTable table = document.createTable();
XWPFTableRow row = table.getRow(0);
row.getCell(0).setText("Column 1");
row.addNewTableCell().setText("Column 2");
// Word ডকুমেন্টটি সংরক্ষণ করা
try (FileOutputStream out = new FileOutputStream("sample_word_document.docx")) {
// ডকুমেন্টটি ফাইল আউটপুট স্ট্রিমে লেখা
document.write(out);
}
System.out.println("ডকুমেন্ট সফলভাবে সংরক্ষিত হয়েছে!");
}
}
XWPFDocument
ক্লাস ব্যবহার করে নতুন একটি Word ডকুমেন্ট তৈরি করা হয়।createParagraph()
মেথড ব্যবহার করে একটি নতুন প্যারাগ্রাফ তৈরি করা হয়।XWPFRun
ক্লাসের setText()
মেথড ব্যবহার করে প্যারাগ্রাফে টেক্সট যোগ করা হয় এবং setBold()
মেথডের মাধ্যমে টেক্সট বোল্ড করা হয়।createTable()
মেথড ব্যবহার করে একটি নতুন টেবিল তৈরি করা হয়। এরপর, getRow(0)
মেথড দিয়ে প্রথম সারি তৈরি করা হয় এবং প্রতিটি সেলে টেক্সট প্রবেশ করা হয়।sample_word_document.docx
নামক ফাইলে সংরক্ষণ করা হয়।document.write(out)
মেথড ব্যবহার করে ডকুমেন্টটি আউটপুট স্ট্রিমে লেখা হয়।"ডকুমেন্ট সফলভাবে সংরক্ষিত হয়েছে!"
মেসেজ দেখাবে।ডকুমেন্টটি সংরক্ষণ করতে FileOutputStream এর মাধ্যমে ফাইলটি ওপেন করা হয় এবং পরে XWPFDocument.write() মেথড ব্যবহার করে ডকুমেন্টটি ফাইলে লেখা হয়। এই মেথডটি ফাইলটি সংরক্ষণ করবে এবং ডকুমেন্টের সমস্ত উপাদান, যেমন টেক্সট, টেবিল, ছবি, স্টাইল ইত্যাদি ফাইলের মধ্যে সেভ হবে।
Apache POI ব্যবহার করে Word ডকুমেন্ট তৈরি করার পর, FileOutputStream এবং XWPFDocument.write() মেথড ব্যবহার করে ডকুমেন্টটি সঠিকভাবে সংরক্ষণ (save) করা যায়। এই প্রক্রিয়ার মাধ্যমে আপনি নতুন বা বিদ্যমান Word ফাইলগুলির মধ্যে টেক্সট, টেবিল, শেপ, ছবি, স্টাইল ইত্যাদি কাস্টমাইজ করে সেগুলিকে ফাইল সিস্টেমে সংরক্ষণ করতে পারেন।
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