Apache POI ব্যবহার করে আপনি Excel, Word, এবং PowerPoint ফাইলের মধ্যে Custom Properties এবং Metadata ম্যানেজ করতে পারেন। Custom Properties ফাইলের অতিরিক্ত কাস্টম ডেটা ধারণ করে যা সাধারণত মেটাডেটা হিসাবে কাজ করে, যেমন author, title, keywords, company ইত্যাদি। এগুলি ডকুমেন্টের মধ্যে সংরক্ষিত থাকে এবং এগুলির মাধ্যমে ডকুমেন্টের অতিরিক্ত তথ্য সংগ্রহ ও ব্যবহার করা যায়।
এই গাইডে, আমরা দেখব কিভাবে আপনি Excel, Word, এবং PowerPoint ফাইলগুলিতে Custom Properties এবং Metadata যোগ বা পরিবর্তন করতে পারেন।
১. Excel ফাইলে Custom Properties এবং Metadata যোগ করা
Apache POI দিয়ে আপনি Excel ফাইলের মধ্যে Custom Properties যোগ করতে পারেন। এই কাজের জন্য XSSFWorkbook (যদি .xlsx ফাইল হয়) বা HSSFWorkbook (যদি .xls ফাইল হয়) ব্যবহার করতে হবে।
উদাহরণ: Excel ফাইলে Custom Properties যোগ করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.legacy.XSSFProperties;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelCustomPropertiesExample {
public static void main(String[] args) throws IOException {
// Excel ওয়ার্কবুক তৈরি করা
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet 1");
// Custom Properties যোগ করা
XSSFWorkbook xssfWorkbook = (XSSFWorkbook) workbook;
xssfWorkbook.getProperties().getCoreProperties().setCreator("Your Name");
xssfWorkbook.getProperties().getCoreProperties().setTitle("Sample Excel File");
xssfWorkbook.getProperties().getCoreProperties().setKeywords("Excel, Apache POI, Metadata");
// শীটে কিছু ডেটা যোগ করা
Row row = sheet.createRow(0);
row.createCell(0).setCellValue("Hello, Apache POI!");
// ফাইল সেভ করা
try (FileOutputStream fileOut = new FileOutputStream(new File("example_with_metadata.xlsx"))) {
workbook.write(fileOut);
}
// ওয়ার্কবুক বন্ধ করা
workbook.close();
}
}
ব্যাখ্যা:
- setCreator, setTitle, এবং setKeywords: এই ফাংশনগুলো ব্যবহার করে আপনি Core Properties যোগ করতে পারেন। এগুলি সাধারণত Author, Title, এবং Keywords এর জন্য ব্যবহৃত হয়।
- XSSFWorkbook: এটি .xlsx ফাইলের জন্য ব্যবহৃত এবং এতে Core Properties ম্যানেজ করার জন্য getCoreProperties() ব্যবহার করা হয়।
২. Word ফাইলে Custom Properties এবং Metadata যোগ করা
Apache POI এর মাধ্যমে আপনি Word ফাইলে কাস্টম Metadata এবং Properties যুক্ত করতে পারেন। এখানে XWPF (যদি .docx ফাইল হয়) ব্যবহার করা হয়।
উদাহরণ: Word ফাইলে Custom Properties যোগ করা
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFFactory;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordCustomPropertiesExample {
public static void main(String[] args) throws IOException {
// Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// Custom Metadata যোগ করা
document.getProperties().getCoreProperties().setCreator("Author Name");
document.getProperties().getCoreProperties().setTitle("Sample Word File");
document.getProperties().getCoreProperties().setKeywords("Word, Apache POI, Metadata");
// কিছু কন্টেন্ট যোগ করা
document.createParagraph().createRun().setText("Hello, Apache POI!");
// ফাইল সেভ করা
try (FileOutputStream fileOut = new FileOutputStream("word_with_metadata.docx")) {
document.write(fileOut);
}
// ডকুমেন্ট বন্ধ করা
document.close();
}
}
ব্যাখ্যা:
- setCreator, setTitle, এবং setKeywords: Word ডকুমেন্টের জন্যও Core Properties যোগ করতে এই মেথডগুলো ব্যবহার করা হয়।
- XWPFDocument: এটি .docx ফাইলের জন্য ব্যবহৃত ক্লাস যা মেটাডেটা সেট করতে ব্যবহৃত হয়।
৩. PowerPoint ফাইলে Custom Properties এবং Metadata যোগ করা
Apache POI ব্যবহার করে আপনি PowerPoint ফাইলের মধ্যে কাস্টম Properties এবং Metadata যোগ করতে পারেন। এখানে XSLF ক্লাস ব্যবহার করা হয় (যদি .pptx ফাইল হয়)।
উদাহরণ: PowerPoint ফাইলে Custom Properties যোগ করা
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFProperties;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointCustomPropertiesExample {
public static void main(String[] args) throws IOException {
// PowerPoint ডকুমেন্ট তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// Custom Metadata যোগ করা
ppt.getProperties().getCoreProperties().setCreator("Presenter Name");
ppt.getProperties().getCoreProperties().setTitle("Sample PowerPoint Presentation");
ppt.getProperties().getCoreProperties().setKeywords("PowerPoint, Apache POI, Metadata");
// একটি স্লাইড যোগ করা
XSLFSlide slide = ppt.createSlide();
slide.createTextBox().setText("Hello, Apache POI!");
// ফাইল সেভ করা
try (FileOutputStream fileOut = new FileOutputStream("ppt_with_metadata.pptx")) {
ppt.write(fileOut);
}
// PowerPoint বন্ধ করা
ppt.close();
}
}
ব্যাখ্যা:
- setCreator, setTitle, এবং setKeywords: এই মেথডগুলো PowerPoint ফাইলে Metadata যোগ করতে ব্যবহার করা হয়।
- XMLSlideShow: এটি .pptx ফাইলের জন্য ব্যবহৃত ক্লাস যা Core Properties যোগ করার জন্য ব্যবহৃত হয়।
৪. Metadata এবং Custom Properties এর গুরুত্ব
- Custom Properties এবং Metadata আপনাকে ডকুমেন্টের অতিরিক্ত তথ্য ধারণ করতে সহায়তা করে, যা পরবর্তীতে ডকুমেন্ট ম্যানেজমেন্ট সিস্টেম বা ডেটাবেসে অনুসন্ধান ও ব্যবস্থাপনার কাজে আসে।
- Keywords, Author, Title ইত্যাদি তথ্য দিয়ে আপনি ডকুমেন্ট সহজেই ক্যাটাগরি করতে পারেন বা সার্চ ইঞ্জিনের মাধ্যমে খুঁজে বের করতে সাহায্য করতে পারেন।
সারাংশ
- Custom Properties এবং Metadata ব্যবহারের মাধ্যমে আপনি ডকুমেন্টের অতিরিক্ত তথ্য সংরক্ষণ এবং পরিচালনা করতে পারেন।
- Apache POI দিয়ে Excel, Word, এবং PowerPoint ফাইলগুলির মধ্যে Metadata এবং Custom Properties যোগ ও পরিবর্তন করা সম্ভব।
- এই কাজগুলির জন্য আপনি CoreProperties API ব্যবহার করতে পারেন, যা আপনাকে ডকুমেন্টের Author, Title, Keywords, Creator ইত্যাদি তথ্য সেট করার সুযোগ দেয়।