গ্রাফ (Charts) ম্যানিপুলেশন

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট)
158
158

Apache POI ব্যবহার করে PowerPoint ফাইলে গ্রাফ (Charts) তৈরি এবং ম্যানিপুলেশন করা সম্ভব। আপনি XSLF API ব্যবহার করে PowerPoint স্লাইডে বিভিন্ন ধরনের চার্ট যেমন Bar Chart, Line Chart, Pie Chart ইত্যাদি তৈরি করতে পারেন। এই API-টি আপনাকে PowerPoint প্রেজেন্টেশনে ডেটা ভিত্তিক চার্ট তৈরি করতে এবং সেই চার্টের স্টাইল এবং ডেটা কাস্টমাইজ করতে সহায়তা করে।

PowerPoint স্লাইডে চার্ট তৈরি ও ম্যানিপুলেশন করার জন্য পদক্ষেপসমূহ:

  1. PowerPoint ফাইল তৈরি বা খুলুন
  2. Chart তৈরি করুন
  3. Chart এর ডেটা কাস্টমাইজ করুন
  4. Chart এর স্টাইল কাস্টমাইজ করুন
  5. ফাইল সেভ করুন

উদাহরণ: PowerPoint স্লাইডে Chart (Bar Chart) যোগ করা

এই উদাহরণে আমরা একটি Bar Chart তৈরি করব এবং তার ডেটা কাস্টমাইজ করব।

PowerPoint স্লাইডে Bar Chart যোগ করার কোড:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.io.*;

public class PowerPointChartExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // Bar Chart তৈরি করুন
        XSLFChart chart = slide.createChart();
        
        // Chart এর ডেটা সেট করুন
        XSLFChartData chartData = chart.getChartData();
        
        // কাস্টম ডেটা তৈরি (Bar Chart এর জন্য)
        ChartDataFactory.createBarChartData(chartData, 3, 5);
        
        // Chart এর শিরোনাম এবং axis কাস্টমাইজ করুন
        chart.setTitle("Sales Overview");
        chart.setCategoryAxisLabel("Months");
        chart.setValueAxisLabel("Sales ($)");

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("PowerPointWithChart.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং Chart যোগ করা হয়েছে!");
    }
}

ব্যাখ্যা:

  1. createChart(): createChart() মেথডের মাধ্যমে আপনি স্লাইডে একটি নতুন চার্ট যোগ করতে পারবেন।
  2. XSLFChartData: এটি চার্টের ডেটা ধারণ করে এবং আপনি এখানে চার্টের টাইপ, ডেটা এবং এক্সিস লেবেল কাস্টমাইজ করতে পারবেন।
  3. ChartDataFactory.createBarChartData(): এই মেথডটি Bar Chart তৈরি করার জন্য ব্যবহৃত হয়। এতে আপনি ডেটা সিরিজ এবং মান নির্ধারণ করতে পারেন।
  4. setTitle(): চার্টের শিরোনাম সেট করার জন্য ব্যবহৃত হয়।
  5. setCategoryAxisLabel() এবং setValueAxisLabel(): চার্টের ক্যাটেগরি এবং ভ্যালু এক্সিস লেবেল সেট করতে ব্যবহৃত হয়।

PowerPoint স্লাইডে অন্যান্য চার্ট তৈরি করা

Apache POI দিয়ে আপনি বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন, যেমন:

  • Bar Chart
  • Line Chart
  • Pie Chart
  • Area Chart
  • Scatter Plot

নিচে আমরা Pie Chart এর একটি উদাহরণ দেখব।

PowerPoint স্লাইডে Pie Chart যোগ করার উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.io.*;

public class PowerPointPieChartExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // Pie Chart তৈরি করুন
        XSLFChart chart = slide.createChart();

        // Pie Chart এর ডেটা সেট করুন
        XSLFChartData chartData = chart.getChartData();
        
        // Pie Chart এর জন্য ডেটা তৈরি (যেমন: বিভিন্ন বিভাগের বিক্রয় পরিমাণ)
        ChartDataFactory.createPieChartData(chartData, 5, 10);

        // Chart এর শিরোনাম কাস্টমাইজ করুন
        chart.setTitle("Market Share Distribution");

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("PowerPointWithPieChart.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং Pie Chart যোগ করা হয়েছে!");
    }
}

চার্টের ডেটা কাস্টমাইজ করা

আপনি ChartDataFactory এর মাধ্যমে চার্টের ডেটা কাস্টমাইজ করতে পারেন, এবং এটি বিশেষত তখন দরকারি যখন আপনার চার্টে বিভিন্ন বিভাগের তথ্য বা পরিসংখ্যান থাকবে।

উদাহরণ:

  • Bar Chart: বিভিন্ন বিভাগ এবং তাদের মান নির্ধারণ করে আপনি বার চার্ট তৈরি করতে পারেন।
  • Pie Chart: প্রতিটি সেগমেন্টের জন্য শতাংশ বা পরিমাণ প্রদান করে আপনি পাই চার্ট তৈরি করতে পারেন।

চার্টের স্টাইল কাস্টমাইজ করা

Apache POI আপনাকে চার্টের বিভিন্ন স্টাইল কাস্টমাইজ করার সুযোগ দেয়। আপনি টেমপ্লেট বা প্রিফিক্স স্টাইল ব্যবহার করে চার্টের রঙ, লেবেল, এবং লাইন স্টাইল পরিবর্তন করতে পারবেন। এটি একটি উদাহরণ যেখানে চার্টের রঙ কাস্টমাইজ করা হয়েছে:

// Bar Chart এর রঙ পরিবর্তন
XSLFChartData chartData = chart.getChartData();
XSLFChartSeries series = chartData.getSeries(0);
series.setFillColor(java.awt.Color.BLUE);  // বারগুলির রঙ পরিবর্তন করা হয়েছে

Apache POI ব্যবহার করে PowerPoint ফাইলের মধ্যে গ্রাফ (Charts) তৈরি এবং ম্যানিপুলেশন অত্যন্ত সহজ। আপনি বার চার্ট, পাই চার্ট, লাইন চার্ট ইত্যাদি তৈরি করতে পারেন এবং সেই চার্টের ডেটা ও স্টাইল কাস্টমাইজ করতে পারেন। এটি মূলত ডেটা ভিত্তিক প্রেজেন্টেশন তৈরি করতে সহায়ক, যেখানে আপনি তথ্যের ভিজ্যুয়াল উপস্থাপনা করতে চান। XSLF API অত্যন্ত শক্তিশালী এবং নমনীয়, এবং এটি আধুনিক PowerPoint ফাইল ফরম্যাট (PPTX) এর জন্য উপযুক্ত।

common.content_added_by

PowerPoint এ গ্রাফ (Pie, Bar, Line) যোগ করা

211
211

Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলে গ্রাফ (যেমন Pie, Bar, Line charts) যোগ করতে পারেন। তবে, এটি একটু জটিল কারণ PowerPoint এ গ্রাফ যোগ করার জন্য আপনাকে গ্রাফের ডেটা, কনফিগারেশন এবং সেটিংস সঠিকভাবে নির্ধারণ করতে হয়।

এখানে, Apache POI ব্যবহার করে Pie, Bar, এবং Line গ্রাফ তৈরি করার প্রাথমিক ধারণা এবং উদাহরণ দেখানো হচ্ছে। PowerPoint ফাইলের মধ্যে গ্রাফ যুক্ত করতে XMLSlideShow এবং XSLFChart API ব্যবহার করা হয়।


PowerPoint এ গ্রাফ (Chart) যোগ করার সাধারণ প্রক্রিয়া:

  1. Chart তৈরি করা: একটি নতুন গ্রাফ তৈরি করুন (Pie, Bar, Line ইত্যাদি)।
  2. Chart এর ডেটা নির্ধারণ করা: গ্রাফে প্রদর্শন করার জন্য ডেটা তৈরি বা ইনপুট করুন।
  3. Chart স্লাইডে যোগ করা: গ্রাফটিকে PowerPoint স্লাইডে যুক্ত করুন।
  4. Chart এর আকার এবং অবস্থান নির্ধারণ করা: গ্রাফের পজিশন এবং আকার নির্ধারণ করুন।

PowerPoint এ Pie Chart যোগ করার উদাহরণ

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

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

public class AddPieChartToPPTX {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // Pie Chart তৈরি করা
            XSLFChart chart = slide.createChart();

            // Chart এর data এর জন্য Workbook তৈরি করা
            XSSFWorkbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Data");

            // Pie Chart এর data যুক্ত করা
            Row row = sheet.createRow(0);
            row.createCell(0).setCellValue("Category");
            row.createCell(1).setCellValue("Value");
            row = sheet.createRow(1);
            row.createCell(0).setCellValue("Category A");
            row.createCell(1).setCellValue(30);
            row = sheet.createRow(2);
            row.createCell(0).setCellValue("Category B");
            row.createCell(1).setCellValue(70);

            // Chart Data Set করা
            chart.setDataSource(sheet);

            // Chart Type নির্ধারণ করা (Pie Chart)
            chart.setChartType(ChartType.PIE);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_pie_chart.pptx")) {
                ppt.write(out);
            }

            wb.close();
            System.out.println("PowerPoint presentation with Pie Chart created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • XSLFChart: এটি PowerPoint স্লাইডে একটি গ্রাফ (Chart) তৈরি করার জন্য ব্যবহৃত হয়।
  • XSSFWorkbook: এটি Excel এর মতো ডেটা স্টোরেজে ব্যবহৃত হয় যা পরে গ্রাফের ডেটা হিসাবে ব্যবহৃত হবে।
  • ChartType.PIE: এটি গ্রাফের ধরন নির্ধারণ করে, যেখানে ChartType.PIE Pie Chart এর জন্য ব্যবহার করা হয়।

PowerPoint এ Bar Chart যোগ করার উদাহরণ

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

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

public class AddBarChartToPPTX {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // Bar Chart তৈরি করা
            XSLFChart chart = slide.createChart();

            // Chart এর data এর জন্য Workbook তৈরি করা
            XSSFWorkbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Data");

            // Bar Chart এর data যুক্ত করা
            Row row = sheet.createRow(0);
            row.createCell(0).setCellValue("Category");
            row.createCell(1).setCellValue("Value");
            row = sheet.createRow(1);
            row.createCell(0).setCellValue("Category A");
            row.createCell(1).setCellValue(50);
            row = sheet.createRow(2);
            row.createCell(0).setCellValue("Category B");
            row.createCell(1).setCellValue(80);

            // Chart Data Set করা
            chart.setDataSource(sheet);

            // Chart Type নির্ধারণ করা (Bar Chart)
            chart.setChartType(ChartType.BAR);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_bar_chart.pptx")) {
                ppt.write(out);
            }

            wb.close();
            System.out.println("PowerPoint presentation with Bar Chart created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • ChartType.BAR: এটি গ্রাফের ধরন নির্ধারণ করে, যেখানে ChartType.BAR Bar Chart এর জন্য ব্যবহৃত হয়।

PowerPoint এ Line Chart যোগ করার উদাহরণ

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

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

public class AddLineChartToPPTX {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // Line Chart তৈরি করা
            XSLFChart chart = slide.createChart();

            // Chart এর data এর জন্য Workbook তৈরি করা
            XSSFWorkbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Data");

            // Line Chart এর data যুক্ত করা
            Row row = sheet.createRow(0);
            row.createCell(0).setCellValue("Category");
            row.createCell(1).setCellValue("Value");
            row = sheet.createRow(1);
            row.createCell(0).setCellValue("Category A");
            row.createCell(1).setCellValue(60);
            row = sheet.createRow(2);
            row.createCell(0).setCellValue("Category B");
            row.createCell(1).setCellValue(90);

            // Chart Data Set করা
            chart.setDataSource(sheet);

            // Chart Type নির্ধারণ করা (Line Chart)
            chart.setChartType(ChartType.LINE);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_line_chart.pptx")) {
                ppt.write(out);
            }

            wb.close();
            System.out.println("PowerPoint presentation with Line Chart created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • ChartType.LINE: এটি গ্রাফের ধরন নির্ধারণ করে, যেখানে ChartType.LINE Line Chart এর জন্য ব্যবহৃত হয়।

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলে Pie, Bar, এবং Line Chart (গ্রাফ) যোগ করতে পারেন। এই গ্রাফগুলি তৈরি করার জন্য XSLFChart এবং XSSFWorkbook ব্যবহার করে ডেটা তৈরি করা হয় এবং তারপর সেই ডেটাকে PowerPoint স্লাইডে গ্রাফ হিসেবে প্রদর্শন করা হয়। ChartType ব্যবহার করে আপনি বিভিন্ন ধরণের গ্রাফ নির্ধারণ করতে পারবেন যেমন Pie, Bar, এবং Line

common.content_added_by

Chart ডেটা ম্যানিপুলেশন

125
125

Apache POI লাইব্রেরি ব্যবহার করে PowerPoint ফাইলের স্লাইডে Chart (যেমন বার চার্ট, পাই চার্ট ইত্যাদি) যোগ করা এবং তার ডেটা ম্যানিপুলেশন করা সম্ভব। XSLF API এর মাধ্যমে আপনি PowerPoint 2007 এবং তার পরবর্তী সংস্করণের (PPTX) স্লাইডে বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন এবং চার্টের ডেটা পরিবর্তন করতে পারেন।

এখানে আমরা দেখবো কিভাবে PowerPoint স্লাইডে চার্ট যোগ করা যায় এবং তার ডেটা ম্যানিপুলেট করা যায়।


PowerPoint স্লাইডে চার্ট যোগ করা - Chart এবং XSLFChart ব্যবহার করে

XSLF API ব্যবহার করে PowerPoint স্লাইডে বিভিন্ন ধরনের চার্ট (যেমন, বার চার্ট, লাইন চার্ট, পাই চার্ট) যোগ করা যেতে পারে। নিচে একটি বেসিক বার চার্ট যোগ করার উদাহরণ দেওয়া হলো, যেখানে চার্টের ডেটা ম্যানিপুলেশন করা হবে।

১. PowerPoint স্লাইডে বার চার্ট যোগ করা

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.ss.util.*;

import java.io.*;

public class PowerPointChartManipulation {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // চার্ট তৈরি করা
        XSLFChart chart = slide.createChart();

        // চার্টের ডেটা সেট করা
        XSLFChartData data = chart.getChartData();
        XSLFCategoryAxis categoryAxis = data.getCategoryAxis();
        XSLFValueAxis valueAxis = data.getValueAxis();

        // ক্যাটেগরি অ্যাক্সিস ডেটা
        categoryAxis.setTitle("Year");
        categoryAxis.setCategoryLabels("2019", "2020", "2021");

        // ভ্যালু অ্যাক্সিস ডেটা
        valueAxis.setTitle("Sales");
        valueAxis.setMinValue(0);
        valueAxis.setMaxValue(100);

        // চার্টের সিরিজ ডেটা
        XSLFChartSeries series = data.addSeries("Product A", "Product B");
        series.addDataPoint(45, 67);
        series.addDataPoint(56, 78);
        series.addDataPoint(89, 34);

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("chart_in_pptx.pptx");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল তৈরি এবং চার্ট যোগ করা হয়েছে!");
    }
}

কোড বিশ্লেষণ:

  • XSLFChart chart: এটি একটি নতুন চার্ট তৈরি করে।
  • XSLFChartData data: চার্টের ডেটা ধারণ করে এবং এটিই সিরিজ এবং এক্সিসেসের জন্য ডেটা পরিচালনা করে।
  • XSLFCategoryAxis categoryAxis: ক্যাটেগরি এক্সিসের জন্য ডেটা যেমন বছর (2019, 2020, 2021) নির্ধারণ করা হয়েছে।
  • XSLFValueAxis valueAxis: মূল্য এক্সিসের জন্য ডেটা যেমন "Sales" (বিক্রয়) নির্ধারণ করা হয়েছে।
  • XSLFChartSeries series: দুটি সিরিজ (Product A এবং Product B) যোগ করা হয়েছে এবং তাদের জন্য ডেটা পয়েন্ট নির্ধারণ করা হয়েছে।

PowerPoint স্লাইডে চার্টের ডেটা ম্যানিপুলেশন

Chart যোগ করার পর আপনি ডেটা পরিবর্তন করতে পারেন এবং নতুন ডেটা পয়েন্ট যোগ করতে পারেন।

২. Chart ডেটা ম্যানিপুলেশন - নতুন ডেটা পয়েন্ট যোগ করা

আপনার যদি নতুন ডেটা পয়েন্ট যোগ করতে হয়, তাহলে আপনি addDataPoint() মেথড ব্যবহার করে নতুন মান যোগ করতে পারেন।

// নতুন ডেটা পয়েন্ট যোগ করা
series.addDataPoint(45, 67);  // Product A, Product B
series.addDataPoint(56, 78);
series.addDataPoint(89, 34);
series.addDataPoint(76, 45);  // নতুন ডেটা পয়েন্ট

এই মেথডের মাধ্যমে চার্টে নতুন ডেটা পয়েন্ট যোগ করা হয় এবং এটি চার্টের ডেটা আপডেট করবে।


PowerPoint স্লাইডে চার্টের ডেটা পরিবর্তন করা

চার্টের ডেটা পরিবর্তন করার জন্য, আপনি XSLFChartSeries এর ডেটা পয়েন্টগুলোর মান পরিবর্তন করতে পারেন।

// ডেটা পয়েন্ট পরিবর্তন করা
series.setDataPoint(0, 100, 150);  // প্রথম ডেটা পয়েন্ট পরিবর্তন (Product A, Product B)
series.setDataPoint(1, 120, 170);  // দ্বিতীয় ডেটা পয়েন্ট পরিবর্তন

এটি প্রথম দুটি ডেটা পয়েন্টের মান পরিবর্তন করবে এবং চার্টকে আপডেট করবে।


PowerPoint স্লাইডে চার্টের টাইপ পরিবর্তন

আপনি যদি চার্টের টাইপ পরিবর্তন করতে চান, যেমন বার চার্ট থেকে লাইনার চার্ট এ পরিবর্তন করতে চান, তবে আপনি XSLFChart এর মেথড ব্যবহার করতে পারেন। তবে, বর্তমান Apache POI সংস্করণে, চার্টের টাইপ পরিবর্তন করতে ChartType নির্ধারণের জন্য সরাসরি কোন API নেই। কিন্তু আপনি XSLFChart এর মাধ্যমে নতুন চার্ট তৈরি করতে পারেন এবং পুরোনো চার্টটি প্রতিস্থাপন করতে পারেন।


PowerPoint স্লাইডে চার্টের স্টাইল এবং ডিজাইন পরিবর্তন

আপনি চার্টের স্টাইল এবং ডিজাইন পরিবর্তন করতে XSLF API ব্যবহার করতে পারেন। তবে, Apache POI এর মধ্যে এই ধরনের স্টাইলিং ম্যানিপুলেশন এখনও কিছুটা সীমিত এবং শুধুমাত্র ChartType, Title, Axis ইত্যাদি কাস্টমাইজ করা সম্ভব।

// চার্টের শিরোনাম সেট করা
chart.setTitle("Sales Data");

// এক্সিসের টাইটেল পরিবর্তন
categoryAxis.setTitle("Years");
valueAxis.setTitle("Amount");

এগুলি chart, categoryAxis, এবং valueAxis এর শিরোনাম এবং টাইটেল পরিবর্তন করতে ব্যবহৃত হয়।


PowerPoint স্লাইডে চার্টের রঙ পরিবর্তন

চার্টের সিরিজের রঙ পরিবর্তন করতে, আপনি XSLFChartSeries এর setFill() মেথড ব্যবহার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো যেখানে সিরিজের রঙ পরিবর্তন করা হচ্ছে:

import org.apache.poi.xslf.usermodel.XSLFChartSeries;
import java.awt.Color;

// সিরিজের রঙ পরিবর্তন করা
XSLFChartSeries series = data.addSeries("Product A", "Product B");
series.setFill(Color.RED);  // সিরিজের রঙ রেড করা হয়েছে

সারাংশ

Apache POI এর XSLF API ব্যবহার করে PowerPoint স্লাইডে চার্ট যোগ করা, ডেটা পরিবর্তন এবং ম্যানিপুলেশন করা সহজ। আপনি Chart তৈরি করতে পারেন, ডেটা পয়েন্ট যোগ করতে পারেন, মান পরিবর্তন করতে পারেন এবং চার্টের ডিজাইন কাস্টমাইজ করতে পারেন। এই ফিচারগুলি PowerPoint ফাইল তৈরি ও সম্পাদনা করার জন্য অত্যন্ত কার্যকরী।


আপনার যদি আরও কোন প্রশ্ন থাকে বা নির্দিষ্ট কোনো উদাহরণ সম্পর্কে জানতে চান, আমাকে জানাতে পারেন!

common.content_added_by

Chart Titles এবং Legends সেট করা

115
115

অ্যাপাচি পিওআই (Apache POI) লাইব্রেরি ব্যবহার করে PowerPoint স্লাইডে চার্ট যোগ করা এবং সেই চার্টের titles (শিরোনাম) এবং legends (লেজেন্ড) সেট করা সম্ভব। POI আপনাকে Excel বা অন্যান্য ডেটা সোর্স থেকে পাওয়ার পয়েন্টে চার্ট তৈরি করতে সহায়ক টুলস প্রদান করে, যা বিভিন্ন ধরনের ডেটা ভিজুয়ালাইজেশন তৈরি করতে ব্যবহৃত হয়।

এখানে আমরা দেখবো কীভাবে Chart Titles এবং Legends সেট করা যায়, PowerPoint স্লাইডে চার্ট যোগ করে।


PowerPoint স্লাইডে Chart Titles এবং Legends সেট করা

PowerPoint স্লাইডে চার্ট যোগ করতে XSLFChart এবং XSLFCategoryAxis ব্যবহার করা হয়। এরপর শিরোনাম (titles) এবং লেজেন্ড (legends) সেট করা হয়।

Step 1: চার্ট তৈরি করা এবং শিরোনাম যোগ করা

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.ss.usermodel.*;

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

public class ChartWithTitlesAndLegends {
    public static void main(String[] args) throws IOException {
        XMLSlideShow ppt = new XMLSlideShow();
        
        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();
        
        // চার্ট তৈরির জন্য ডাটা প্রস্তুত করা
        XSLFChart chart = slide.createChart();
        
        // চার্ট শিরোনাম সেট করা
        XSLFTitle title = chart.getTitle();
        title.setText("Sales Performance Over Time");

        // ক্যাটেগরি অক্ষ (Category Axis) এবং ভ্যালু অক্ষ (Value Axis) তৈরি
        XSLFCategoryAxis categoryAxis = chart.createCategoryAxis(AxisPosition.BOTTOM);
        XSLFValueAxis valueAxis = chart.createValueAxis(AxisPosition.LEFT);
        
        // চার্টের লেজেন্ড সেট করা
        XSLFLegend legend = chart.createLegend();
        legend.setPosition(LegendPosition.BOTTOM);
        
        // চার্টে ডেটা সেট করা (এটা মূলত Dummy ডেটা)
        chart.getSeries().get(0).setName("Q1").getData().add(25);
        chart.getSeries().get(1).setName("Q2").getData().add(40);
        chart.getSeries().get(2).setName("Q3").getData().add(30);
        chart.getSeries().get(3).setName("Q4").getData().add(60);
        
        // PowerPoint ফাইল তৈরি করা
        FileOutputStream out = new FileOutputStream("chart_with_titles_and_legends.pptx");
        ppt.write(out);
        out.close();
        ppt.close();
    }
}

Code Breakdown:

  1. XSLFChart তৈরি করা হয়, যা স্লাইডে একটি চার্ট প্রদর্শন করবে।
  2. XSLFTitle ব্যবহার করে চার্টের শিরোনাম সেট করা হয়।
  3. XSLFCategoryAxis এবং XSLFValueAxis ব্যবহার করে চার্টের অক্ষ (axis) সেট করা হয়।
  4. XSLFLegend ব্যবহার করে লেজেন্ড সেট করা হয়, এবং তার অবস্থান (position) নির্ধারণ করা হয়।
  5. শেষে, স্লাইডে ডামি ডেটা (Dummy Data) যোগ করে PowerPoint ফাইল তৈরি করা হয়।

PowerPoint চার্টে লেজেন্ড এবং শিরোনামের কাস্টমাইজেশন

চার্টের শিরোনাম এবং লেজেন্ড কাস্টমাইজ করা যেতে পারে যেমন:

  • শিরোনামের ফন্ট সাইজ এবং কালার পরিবর্তন করা
  • লেজেন্ডের অবস্থান পরিবর্তন করা (Top, Bottom, Left, Right)
  • লেজেন্ডের স্টাইল পরিবর্তন করা (e.g., বোল্ড, Italic)

Step 2: শিরোনাম এবং লেজেন্ড কাস্টমাইজ করা

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.ss.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Color;

public class CustomChartWithTitlesAndLegends {
    public static void main(String[] args) throws IOException {
        XMLSlideShow ppt = new XMLSlideShow();
        
        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();
        
        // চার্ট তৈরির জন্য ডাটা প্রস্তুত করা
        XSLFChart chart = slide.createChart();
        
        // শিরোনাম সেট করা এবং কাস্টমাইজ করা
        XSLFTitle title = chart.getTitle();
        title.setText("Quarterly Sales Growth");
        title.setFontColor(Color.RED);  // শিরোনামের ফন্ট রঙ লাল করা
        title.setFontSize(24.0);         // শিরোনামের ফন্ট সাইজ বড় করা
        
        // ক্যাটেগরি অক্ষ (Category Axis) এবং ভ্যালু অক্ষ (Value Axis) তৈরি
        XSLFCategoryAxis categoryAxis = chart.createCategoryAxis(AxisPosition.BOTTOM);
        XSLFValueAxis valueAxis = chart.createValueAxis(AxisPosition.LEFT);
        
        // লেজেন্ড সেট করা এবং কাস্টমাইজ করা
        XSLFLegend legend = chart.createLegend();
        legend.setPosition(LegendPosition.TOP);  // লেজেন্ডের অবস্থান উপরে করা
        legend.setFontColor(Color.BLUE);         // লেজেন্ডের ফন্ট রঙ নীল করা
        legend.setFontSize(14.0);                // লেজেন্ডের ফন্ট সাইজ কমানো

        // চার্টে ডেটা সেট করা (এটা মূলত Dummy ডেটা)
        chart.getSeries().get(0).setName("Q1").getData().add(50);
        chart.getSeries().get(1).setName("Q2").getData().add(60);
        chart.getSeries().get(2).setName("Q3").getData().add(70);
        chart.getSeries().get(3).setName("Q4").getData().add(80);
        
        // PowerPoint ফাইল তৈরি করা
        FileOutputStream out = new FileOutputStream("custom_chart_with_titles_and_legends.pptx");
        ppt.write(out);
        out.close();
        ppt.close();
    }
}

Code Breakdown:

  1. শিরোনাম এবং লেজেন্ডের ফন্ট সাইজ এবং ফন্ট কালার কাস্টমাইজ করা হয়েছে।
  2. LegendPosition.TOP ব্যবহার করে লেজেন্ডের অবস্থান উপরে সেট করা হয়েছে।
  3. শিরোনামের ফন্ট রঙ লাল এবং সাইজ 24 পয়েন্ট করা হয়েছে, লেজেন্ডের ফন্ট রঙ নীল এবং সাইজ 14 পয়েন্ট করা হয়েছে।

Chart Titles এবং Legends এর কাস্টমাইজেশন

PowerPoint চার্টের শিরোনাম এবং লেজেন্ডের কাস্টমাইজেশনের জন্য আরও কিছু বৈশিষ্ট্য যেমন:

  • FontStyle (Bold, Italic)
  • FontSize (বড় বা ছোট ফন্ট)
  • FontColor (ফন্টের রঙ পরিবর্তন)
  • LegendPosition (লেজেন্ডের অবস্থান পরিবর্তন)

এগুলো ব্যবহার করে আপনি আপনার চার্টের ভিজুয়াল ইফেক্ট আরও আকর্ষণীয় এবং প্রফেশনাল করতে পারবেন।


সারাংশ

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে চার্ট তৈরি করা এবং সেই চার্টের titles এবং legends কাস্টমাইজ করা অত্যন্ত সহজ। XSLFTitle এবং XSLFLegend ব্যবহার করে আপনি শিরোনাম এবং লেজেন্ডের টেক্সট, ফন্ট সাইজ, রঙ, অবস্থান ইত্যাদি কাস্টমাইজ করতে পারেন। এর মাধ্যমে আপনি আরও প্রফেশনাল এবং ভিজুয়ালি আকর্ষণীয় প্রেজেন্টেশন তৈরি করতে পারবেন।


common.content_added_by

গ্রাফের স্টাইল এবং কালার কাস্টমাইজেশন

142
142

অ্যাপাচি পিওআই (Apache POI) মডিউলটি PowerPoint ফাইল (.pptx এবং .ppt) ফরম্যাটে গ্রাফের স্টাইল এবং কালার কাস্টমাইজেশন করার জন্য ব্যবহৃত হতে পারে। আপনি যদি PowerPoint স্লাইডে গ্রাফ বা চার্ট যুক্ত করতে চান, তবে XSLF (নতুন .pptx) মডিউলটি ব্যবহারের মাধ্যমে সহজেই বিভিন্ন গ্রাফের ধরন এবং তাদের স্টাইল কাস্টমাইজ করা সম্ভব।

এই গাইডে, আমরা দেখবো কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে গ্রাফ যুক্ত করা এবং তার স্টাইল ও কালার কাস্টমাইজ করা যায়।

১. XSLF (PowerPoint .pptx ফাইল) ফরম্যাটে গ্রাফ কাস্টমাইজেশন

১.১ Maven ডিপেনডেন্সি

আপনার Maven প্রোজেক্টে Apache POI এর poi-ooxml ডিপেনডেন্সি যোগ করুন:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version> <!-- NiFi ব্যবহারকারীর নির্দিষ্ট ভার্সন চেক করুন -->
</dependency>

১.২ গ্রাফের ধরন তৈরি এবং স্টাইল কাস্টমাইজেশন

Apache POI দিয়ে আপনি বেশ কিছু ধরনের গ্রাফ যেমন বার চার্ট (Bar Chart), পাই চার্ট (Pie Chart), লাইন চার্ট (Line Chart) ইত্যাদি তৈরি করতে পারেন। এখানে একটি বার চার্টের উদাহরণ দেওয়া হল যেখানে স্টাইল এবং কালার কাস্টমাইজ করা হয়েছে।

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;

import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Color;

public class PowerPointChartCustomization {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint প্রেজেন্টেশন তৈরি
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি
        XSLFSlide slide = ppt.createSlide();

        // একটি চার্ট তৈরি করা
        XSLFChart chart = slide.createChart();
        chart.setAnchor(new java.awt.Rectangle(100, 100, 500, 300));

        // চার্টের ডেটা সেট করা
        XSLFChartData data = chart.getChartData();
        XSLFChartData.Series series = data.addSeries();
        series.addPoint(10);
        series.addPoint(20);
        series.addPoint(30);
        series.addPoint(40);

        // গ্রাফের স্টাইল কাস্টমাইজেশন
        chart.setTitle("Sample Bar Chart");
        chart.setChartType(XSLFChart.ChartType.BAR);

        // বার চার্টের জন্য কালার কাস্টমাইজেশন
        series.setFillColor(Color.BLUE); // বার গুলোর রঙ

        // এক্সিস স্টাইল কাস্টমাইজেশন
        chart.getAxis(AxisPosition.BOTTOM).setTickMarkType(XSLFChart.AXIS_TICK_MARK.CROSS); // এক্সিসের টিক মার্কস কাস্টমাইজ
        chart.getAxis(AxisPosition.LEFT).setTickMarkType(XSLFChart.AXIS_TICK_MARK.NONE);

        // চার্টের লিজেন্ড স্টাইল কাস্টমাইজ
        chart.getLegend().setVisible(true);
        chart.getLegend().setPosition(XSLFChart.LegendPosition.BOTTOM);

        // ফাইল আউটপুট
        try (FileOutputStream out = new FileOutputStream("chart_customization.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং গ্রাফের স্টাইল কাস্টমাইজ করা হয়েছে!");
    }
}

১.৩ গ্রাফের স্টাইল এবং কালার কাস্টমাইজেশন

  • Chart Type: আপনি বিভিন্ন ধরনের চার্ট যেমন BAR, LINE, PIE, AREA ইত্যাদি ব্যবহার করতে পারেন।
  • Color Customization: উপরের কোডে series.setFillColor(Color.BLUE) দিয়ে বার চার্টের বারগুলোর রঙ পরিবর্তন করা হয়েছে। এখানে যেকোনো রঙ ব্যবহার করা যেতে পারে যেমন Color.RED, Color.GREEN, ইত্যাদি।
  • Title: চার্টের শিরোনাম chart.setTitle("Sample Bar Chart") দিয়ে সেট করা হয়েছে।
  • Axis: এক্সিসের টিক মার্ক টাইপ কাস্টমাইজ করার জন্য setTickMarkType() ব্যবহার করা হয়েছে।
  • Legend: লিজেন্ডের অবস্থান এবং দৃশ্যমানতা কাস্টমাইজ করা হয়েছে chart.getLegend().setPosition(XSLFChart.LegendPosition.BOTTOM)

২. পাই চার্ট বা অন্য কোনো চার্টের জন্য স্টাইল কাস্টমাইজেশন

আপনি চাইলে Pie Chart, Line Chart বা অন্য কোনো গ্রাফ টাইপও তৈরি করতে পারেন। নিচে একটি Pie Chart এর উদাহরণ দেওয়া হল যেখানে আংশিক কালার কাস্টমাইজেশন করা হয়েছে।

XSLFChart pieChart = slide.createChart();
pieChart.setAnchor(new java.awt.Rectangle(100, 100, 500, 300));

// পিরামিডের জন্য ডেটা যুক্ত করা
XSLFChartData pieData = pieChart.getChartData();
XSLFChartData.Series pieSeries = pieData.addSeries();
pieSeries.addPoint(25);
pieSeries.addPoint(35);
pieSeries.addPoint(40);

// পিরামিডের কালার কাস্টমাইজেশন
pieSeries.setFillColor(Color.RED); // সেকশনের রঙ কাস্টমাইজ
pieSeries.setFillColor(Color.GREEN);

// চার্টের শিরোনাম সেট করা
pieChart.setTitle("Sample Pie Chart");

এখানে setFillColor() পদ্ধতি দিয়ে বিভিন্ন সেকশনের জন্য রঙ পরিবর্তন করা হয়েছে।


৩. Chart Customization এর আরও কিছু টিপস

  • Gridlines: গ্রিডলাইন অপশনও কাস্টমাইজ করা যায়। আপনি XSLFChart এর এক্সিস সেটিংস ব্যবহার করে গ্রিডলাইন পরিবর্তন করতে পারেন।
  • Fonts and Labels: গ্রাফের ফন্ট এবং লেবেল কাস্টমাইজ করার জন্য XSLFChartData.Series.setLabelFont() পদ্ধতি ব্যবহার করা যেতে পারে।
  • Legends: লিজেন্ডের স্টাইলের জন্য chart.getLegend().setVisible() পদ্ধতি ব্যবহার করা হয়। আপনি চাইলে লিজেন্ডকে কাস্টমাইজ করে তার অবস্থান, রঙ, আকার ইত্যাদি পরিবর্তন করতে পারেন।

সারাংশ

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে গ্রাফ বা চার্টের স্টাইল এবং কালার কাস্টমাইজেশন করা সহজ। আপনি বিভিন্ন গ্রাফ টাইপ যেমন বার চার্ট, পাই চার্ট, লাইন চার্ট ইত্যাদি তৈরি করতে পারেন এবং তাদের বিভিন্ন বৈশিষ্ট্য যেমন রঙ, শিরোনাম, এক্সিস, লিজেন্ড ইত্যাদি কাস্টমাইজ করতে পারেন। XSLFChart এবং XSLFChartData.Series ক্লাসগুলির মাধ্যমে গ্রাফের প্রতিটি অংশকে কাস্টমাইজ করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion