Skill

Excel ফাইলের প্রপার্টি এবং Metadata হ্যান্ডেল করা

অ্যাপাচি পিওআই (Apache POI) - Java Technologies

180

Apache POI লাইব্রেরি ব্যবহার করে আপনি Excel ফাইলের প্রপার্টি এবং metadata পরিচালনা করতে পারেন। Excel ফাইলের প্রপার্টি যেমন ফাইলের সৃষ্টির তারিখ, লেখক, শিরোনাম, এবং কাস্টম প্রপার্টি ডাউনলোড বা আপডেট করা সম্ভব। এছাড়া, metadata যেমন প্যাকেজ ইনফরমেশন বা ফাইল ইনফরমেশন এক্সট্র্যাক্ট করা যায়।


1. Excel ফাইলের প্রপার্টি এক্সেস করা (XSSF)

Apache POI এর XSSFWorkbook ব্যবহার করে Excel ফাইলের প্রপার্টি এক্সেস এবং সেট করা সম্ভব। আপনি ফাইলের Title, Subject, Author, Keywords, এবং অন্যান্য প্রপার্টি ম্যানিপুলেট করতে পারেন।

উদাহরণ: Excel ফাইলের প্রপার্টি এক্সেস এবং আপডেট করা

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelFilePropertiesExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // Excel ফাইল ওপেন করা
        FileInputStream fileIn = new FileInputStream("example.xlsx");
        XSSFWorkbook workbook = new XSSFWorkbook(fileIn);

        // ফাইলের প্রপার্টি এক্সেস করা
        workbook.getProperties().getCoreProperties().setCreator("John Doe");
        workbook.getProperties().getCoreProperties().setTitle("Sales Report");
        workbook.getProperties().getCoreProperties().setSubject("Sales Data");
        workbook.getProperties().getCoreProperties().setKeywords("sales, report, 2024");

        // পরিবর্তিত প্রপার্টি সেভ করা
        try (FileOutputStream fileOut = new FileOutputStream("updated_example.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
        fileIn.close();
        System.out.println("Excel ফাইলের প্রপার্টি সফলভাবে আপডেট হয়েছে!");
    }
}

এটি কী করবে:

  • example.xlsx ফাইলটি ওপেন করবে।
  • ফাইলের প্রপার্টি যেমন Creator, Title, Subject, এবং Keywords আপডেট করবে।
  • আপডেট করা ফাইল updated_example.xlsx নামে সেভ করবে।

2. Excel ফাইলের কাস্টম প্রপার্টি এক্সেস করা (XSSF)

Apache POI কাস্টম প্রপার্টি সেট করারও সুবিধা প্রদান করে। আপনি নিজস্ব প্রপার্টি তৈরি এবং সেট করতে পারবেন যা ফাইলের জন্য বিশেষভাবে উপযোগী।

উদাহরণ: কাস্টম প্রপার্টি এক্সেস এবং সেট করা

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelCustomPropertiesExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // Excel ফাইল ওপেন করা
        FileInputStream fileIn = new FileInputStream("example.xlsx");
        XSSFWorkbook workbook = new XSSFWorkbook(fileIn);

        // কাস্টম প্রপার্টি সেট করা
        workbook.getProperties().getCustomProperties().addProperty("Project", "Sales");
        workbook.getProperties().getCustomProperties().addProperty("Manager", "Alice");

        // পরিবর্তিত প্রপার্টি সেভ করা
        try (FileOutputStream fileOut = new FileOutputStream("custom_updated_example.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
        fileIn.close();
        System.out.println("Excel ফাইলের কাস্টম প্রপার্টি সফলভাবে আপডেট হয়েছে!");
    }
}

এটি কী করবে:

  • example.xlsx ফাইলটি ওপেন করবে।
  • কাস্টম প্রপার্টি Project এবং Manager অ্যাড করবে।
  • আপডেট করা ফাইল custom_updated_example.xlsx নামে সেভ করবে।

3. Excel ফাইলের Metadata এক্সট্র্যাকশন এবং ম্যানিপুলেশন

Excel ফাইলের metadata যেমন প্রসেসিং তথ্য, শেষ সংশোধন তারিখ, এবং ফাইল সৃষ্টির তারিখ সংগ্রহ করা সম্ভব। আপনি getProperties() মেথড ব্যবহার করে এই ইনফরমেশন এক্সট্র্যাক্ট করতে পারেন।

উদাহরণ: Excel ফাইলের Metadata এক্সট্র্যাকশন

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.FileInputStream;
import java.io.IOException;

public class ExcelMetadataExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // Excel ফাইল ওপেন করা
        FileInputStream fileIn = new FileInputStream("example.xlsx");
        XSSFWorkbook workbook = new XSSFWorkbook(fileIn);

        // Metadata এক্সট্র্যাক্ট করা
        System.out.println("Author: " + workbook.getProperties().getCoreProperties().getCreator());
        System.out.println("Title: " + workbook.getProperties().getCoreProperties().getTitle());
        System.out.println("Subject: " + workbook.getProperties().getCoreProperties().getSubject());
        System.out.println("Last Modified: " + workbook.getProperties().getCoreProperties().getModified());

        workbook.close();
        fileIn.close();
    }
}

এটি কী করবে:

  • example.xlsx ফাইলটি ওপেন করবে।
  • ফাইলের Author, Title, Subject, এবং Last Modified সহ অন্যান্য metadata প্রপার্টি এক্সট্র্যাক্ট করবে এবং কনসোলে প্রদর্শন করবে।

সারাংশ

Apache POI ব্যবহার করে Excel ফাইলের প্রপার্টি এবং metadata ম্যানিপুলেশন করা সহজ। আপনি ফাইলের Creator, Title, Subject, Keywords, এবং Custom Properties পরিচালনা করতে পারবেন। এছাড়া, ফাইলের metadata যেমন Last Modified এবং Creation Date এক্সট্র্যাক্ট করে বিশ্লেষণ করা সম্ভব। এই সব ফিচারগুলো ডকুমেন্ট ম্যানেজমেন্ট, রিপোর্ট জেনারেশন এবং ফাইলের তথ্য নিরীক্ষণের জন্য অত্যন্ত উপকারী।

Content added By

Apache POI ব্যবহার করে Workbook এবং Sheet এর প্রপার্টি সেট করা খুবই গুরুত্বপূর্ণ, কারণ এগুলোর মাধ্যমে আপনি আপনার Excel ফাইলের কাস্টমাইজেশন এবং স্টাইলিং করতে পারেন। নিচে কিছু গুরুত্বপূর্ণ Workbook এবং Sheet প্রপার্টি সেট করার পদ্ধতি ব্যাখ্যা করা হলো।


1. Workbook এর প্রপার্টি সেট করা

Workbook Title বা Author সেট করা

আপনি একটি Excel Workbook এর কিছু মেটাডেটা যেমন title, author, subject ইত্যাদি সেট করতে পারেন। এটি POI এর CreationHelper ব্যবহার করে করা হয়।

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class WorkbookPropertiesExample {

    public static void main(String[] args) throws IOException {
        // নতুন Workbook তৈরি
        XSSFWorkbook workbook = new XSSFWorkbook();

        // CreationHelper ব্যবহার করে মেটাডেটা সেট করা
        workbook.getProperties().getCoreProperties().setCreator("Your Name");
        workbook.getProperties().getCoreProperties().setTitle("Employee Data Sheet");
        workbook.getProperties().getCoreProperties().setSubject("Employee Information");
        
        // শীট তৈরি
        Sheet sheet = workbook.createSheet("Employee Data");

        // ডেটা ইনসার্ট করা (পূর্বের উদাহরণ অনুযায়ী)
        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("Employee ID");
        headerRow.createCell(1).setCellValue("Name");
        headerRow.createCell(2).setCellValue("Position");
        headerRow.createCell(3).setCellValue("Salary");

        // ফাইল আউটপুট
        try (FileOutputStream fileOut = new FileOutputStream("employee_data_with_properties.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
    }
}

কোড ব্যাখ্যা:

  • workbook.getProperties().getCoreProperties(): এটি Workbook এর মেটাডেটা অ্যাক্সেস করতে ব্যবহৃত হয়, যেখানে আপনি creator, title, subject ইত্যাদি সেট করতে পারেন।

2. Sheet এর প্রপার্টি সেট করা

Sheet এর নাম পরিবর্তন করা

আপনি Sheet এর নাম পরিবর্তন করতে পারেন, যা ডিফল্টভাবে Sheet1, Sheet2 ইত্যাদি থাকে।

Sheet sheet = workbook.createSheet("Employee Data");

এখানে createSheet() এর আর্গুমেন্টটি হলো Sheet এর নাম।

Sheet এর Column Width সেট করা

একটি সেলের প্রস্থ পরিবর্তন করতে আপনি setColumnWidth() ব্যবহার করতে পারেন। এটি এক্সেল শীটের একটি কলামের প্রস্থ সেট করে।

sheet.setColumnWidth(0, 6000); // Column A
sheet.setColumnWidth(1, 8000); // Column B
sheet.setColumnWidth(2, 10000); // Column C
sheet.setColumnWidth(3, 12000); // Column D

এখানে 6000, 8000 ইত্যাদি হল পিক্সেল অনুযায়ী কলামের প্রস্থ।

Sheet এর Row Height সেট করা

একটি রো-এর উচ্চতা পরিবর্তন করতে আপনি setRowHeight() ব্যবহার করতে পারেন।

Row row = sheet.createRow(0);
row.setHeightInPoints(25);  // Row 0 height set to 25 points

এখানে 25 হল রো-এর উচ্চতা, যা পয়েন্টে সেট করা হয়েছে।


3. Freeze Panes (শীটের হেডার লক করা)

শীটের উপরের রো বা বাম দিকের কলাম লক করতে আপনি freeze panes ফিচারটি ব্যবহার করতে পারেন। এতে আপনি স্ক্রল করার সময় শীর্ষ রো বা কলাম দেখতে পাবেন।

sheet.createFreezePane(0, 1);  // Freeze the top row

এটি প্রথম রো (header) freeze করবে, অর্থাৎ স্ক্রলিংয়ের সময় এটি স্ক্রিনে দৃশ্যমান থাকবে।


4. Auto-Size Column

Excel এর প্রতিটি কলামকে তার কন্টেন্ট অনুযায়ী স্বয়ংক্রিয়ভাবে আকার দেয়া হয়।

for (int i = 0; i < 4; i++) {
    sheet.autoSizeColumn(i);
}

এটি প্রতিটি কলামের প্রস্থ তার কন্টেন্ট অনুযায়ী স্বয়ংক্রিয়ভাবে সেট করবে।


5. Sheet এর Gridlines Hidden করা

Excel ফাইলে ডিফল্টভাবে gridlines থাকে। আপনি চাইলে এগুলো হাইড করতে পারেন।

sheet.setDisplayGridlines(false);

এটি gridlines লুকিয়ে ফেলবে, কিন্তু সেলগুলির মধ্যে বর্ডার থাকবে।


6. Sheet Protection (রক্ষা করা)

আপনি sheet কে পাসওয়ার্ড দিয়ে রক্ষা করতে পারেন। এতে কেউ যদি সেই শীটে পরিবর্তন করতে চায় তবে পাসওয়ার্ড দিতে হবে।

sheet.protectSheet("password");

এটি শীটটি password দিয়ে রক্ষা করবে, যাতে কেউ অনুপযুক্তভাবে ফাইল সম্পাদনা করতে না পারে।


7. Conditional Formatting (শর্তাধীন ফরম্যাটিং)

আপনি sheet এ কিছু নির্দিষ্ট শর্তে ভিত্তি করে ফরম্যাটিং (যেমন রঙ পরিবর্তন) করতে পারেন। উদাহরণস্বরূপ, যদি কোনও সেলের মান 50 এর বেশি হয়, তবে সেটির ব্যাকগ্রাউন্ড রঙ পরিবর্তন করা।

ConditionalFormattingRule rule = sheet.getSheetConditionalFormatting().createConditionalFormattingRule(
        ComparisonOperator.GT, "50");
PatternFormatting fill = rule.createPatternFormatting();
fill.setFillBackgroundColor(IndexedColors.YELLOW.index);

CellRangeAddress[] regions = { CellRangeAddress.valueOf("A1:A100") };
sheet.getSheetConditionalFormatting().addConditionalFormatting(regions, rule);

এটি কলাম A তে ৫০ এর বেশি যে সেল হবে তার ব্যাকগ্রাউন্ড রঙ yellow এ পরিবর্তন করবে।


সারাংশ

Apache POI ব্যবহার করে Workbook এবং Sheet এর বিভিন্ন প্রপার্টি কাস্টমাইজ করা সম্ভব। আপনি workbook এর মেটাডেটা যেমন author, title, subject সেট করতে পারেন, এবং sheet এর নাম, কলাম প্রস্থ, রো উচ্চতা, freeze panes, gridlines, sheet protection ইত্যাদি কাস্টমাইজ করতে পারেন। এই ধরনের কাস্টমাইজেশন আপনাকে Excel ফাইল আরও প্রফেশনাল এবং ইউজার ফ্রেন্ডলি করতে সাহায্য করবে।

Content added By

Apache POI লাইব্রেরি দিয়ে আপনি Microsoft Office ডকুমেন্টগুলির Core Properties এবং Document Summary Properties সহজেই পরিচালনা করতে পারেন। এই তথ্যগুলি ডকুমেন্টের মেটাডেটা হিসেবে কাজ করে এবং ডকুমেন্টের বিস্তারিত তথ্য যেমন লেখক, শিরোনাম, কিওয়ার্ড, সাবজেক্ট ইত্যাদি ধারণ করে।

১. Core Properties (মূল বৈশিষ্ট্য)

Core Properties হল ডকুমেন্টের বেসিক মেটাডেটা, যেমন:

  • Title (শিরোনাম)
  • Subject (বিষয়)
  • Creator (স্রষ্টা বা লেখক)
  • Keywords (কিওয়ার্ড)
  • Last Modified By (শেষ সংশোধনকারী)
  • Created Date (তৈরি হওয়ার তারিখ)
  • Modified Date (সংশোধন হওয়া তারিখ)

Apache POI লাইব্রেরি ব্যবহার করে আপনি এই Core Properties সহজেই সেট এবং এক্সট্র্যাক্ট করতে পারবেন।

কোড উদাহরণ: Core Properties এক্সট্র্যাক্ট করা এবং সেট করা

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ooxml.POIXMLProperties;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CorePropertiesExample {

    public static void main(String[] args) throws IOException, InvalidFormatException {
        // Excel ফাইল লোড করা
        FileInputStream fis = new FileInputStream(new File("example.xlsx"));
        
        // Workbook তৈরি করা
        XSSFWorkbook workbook = new XSSFWorkbook(fis);
        
        // Core Properties এক্সেস করা
        POIXMLProperties.CoreProperties coreProperties = workbook.getProperties().getCoreProperties();
        
        // Core Properties পড়া
        System.out.println("Title: " + coreProperties.getTitle());
        System.out.println("Author: " + coreProperties.getCreator());
        System.out.println("Keywords: " + coreProperties.getKeywords());
        System.out.println("Subject: " + coreProperties.getSubject());

        // Core Properties সেট করা
        coreProperties.setTitle("My Excel Document");
        coreProperties.setCreator("John Doe");
        coreProperties.setKeywords("POI, Excel, Apache");
        coreProperties.setSubject("Apache POI Tutorial");

        // Excel ফাইল সেভ করা
        FileOutputStream fileOut = new FileOutputStream("updatedExample.xlsx");
        workbook.write(fileOut);
        fileOut.close();

        // Workbook বন্ধ করা
        workbook.close();
        fis.close();
        
        System.out.println("Core Properties সফলভাবে আপডেট করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • Core Properties: workbook.getProperties().getCoreProperties() এর মাধ্যমে Excel ফাইলের মূল বৈশিষ্ট্য (Title, Author, Keywords ইত্যাদি) এক্সট্র্যাক্ট করা হয়।
  • Properties সেট করা: আমরা নতুন মান দিয়ে Title, Creator, Keywords, এবং Subject সেট করেছি।

২. Document Summary Properties

Document Summary Properties হল অতিরিক্ত মেটাডেটা যা ডকুমেন্টের বিষয়ে আরো বিস্তারিত তথ্য ধারণ করে, যেমন:

  • Category (শ্রেণী)
  • Manager (ম্যানেজার)
  • Company (কোম্পানি)
  • Content Status (কনটেন্ট স্ট্যাটাস)
  • Last Modified By (শেষ সংশোধনকারী)

এই বৈশিষ্ট্যগুলি সাধারণত ডকুমেন্টের ব্যাপারে আরো বিস্তারিত ধারণা প্রদান করে এবং আপনি এগুলিও Apache POI ব্যবহার করে সহজেই এক্সট্র্যাক্ট এবং সেট করতে পারেন।

কোড উদাহরণ: Document Summary Properties এক্সট্র্যাক্ট করা এবং সেট করা

import org.apache.poi.ooxml.POIXMLProperties;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class DocumentSummaryPropertiesExample {

    public static void main(String[] args) throws IOException {
        // Excel ফাইল লোড করা
        FileInputStream fis = new FileInputStream(new File("example.xlsx"));
        
        // Workbook তৈরি করা
        XSSFWorkbook workbook = new XSSFWorkbook(fis);
        
        // Document Summary Properties এক্সেস করা
        POIXMLProperties.DocumentProperties documentProperties = workbook.getProperties().getCustomProperties();

        // Document Summary Properties পড়া
        System.out.println("Category: " + documentProperties.getCategory());
        System.out.println("Company: " + documentProperties.getCompany());
        System.out.println("Manager: " + documentProperties.getManager());

        // Document Summary Properties সেট করা
        documentProperties.setCategory("Finance");
        documentProperties.setCompany("XYZ Corp");
        documentProperties.setManager("Jane Doe");

        // Excel ফাইল সেভ করা
        FileOutputStream fileOut = new FileOutputStream("updatedDocumentSummary.xlsx");
        workbook.write(fileOut);
        fileOut.close();

        // Workbook বন্ধ করা
        workbook.close();
        fis.close();

        System.out.println("Document Summary Properties সফলভাবে আপডেট করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • Document Summary Properties: workbook.getProperties().getCustomProperties() এর মাধ্যমে Document Summary Properties যেমন Category, Company, এবং Manager এক্সট্র্যাক্ট করা হয়।
  • Properties সেট করা: আমরা নতুন মান দিয়ে Category, Company, এবং Manager সেট করেছি।

৩. Core এবং Document Summary Properties এর মধ্যে পার্থক্য

  • Core Properties: এটি ডকুমেন্টের মূল বৈশিষ্ট্য (যেমন লেখক, শিরোনাম, বিষয়, কিওয়ার্ড) সম্পর্কে তথ্য প্রদান করে। এটি সাধারণত ডকুমেন্টের মেটাডেটার ভিত্তি হিসেবে কাজ করে।
  • Document Summary Properties: এটি ডকুমেন্টের আরো বিস্তারিত বৈশিষ্ট্য প্রদান করে, যেমন বিভাগ, কোম্পানি, ম্যানেজার এবং কনটেন্ট স্ট্যাটাস। এটি সাধারণত ডকুমেন্টের প্রশাসনিক এবং শ্রেণীভিত্তিক তথ্য ধারণ করে।

Apache POI লাইব্রেরি ব্যবহার করে আপনি Excel (এবং অন্যান্য Office ফাইল) এর Core Properties এবং Document Summary Properties সহজেই পরিচালনা করতে পারেন।

  • Core Properties মূলত ডকুমেন্টের সাধারণ বৈশিষ্ট্যসমূহ যেমন শিরোনাম, লেখক, এবং কিওয়ার্ড সম্পর্কিত তথ্য ধারণ করে।
  • Document Summary Properties ডকুমেন্টের আরো বিস্তারিত তথ্য যেমন শ্রেণী, কোম্পানি, এবং ম্যানেজার সম্পর্কিত তথ্য ধারণ করে।

এগুলি ব্যবহার করে আপনি ডকুমেন্টের মেটাডেটা আরও ভালোভাবে পরিচালনা এবং কাস্টমাইজ করতে পারেন।

Content added By

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 ইত্যাদি তথ্য সেট করার সুযোগ দেয়।
Content added By
Promotion

Are you sure to start over?

Loading...