Apache POI ব্যবহার করে PowerPoint ফাইলে গ্রাফ (Charts) তৈরি এবং ম্যানিপুলেশন করা সম্ভব। আপনি XSLF API ব্যবহার করে PowerPoint স্লাইডে বিভিন্ন ধরনের চার্ট যেমন Bar Chart, Line Chart, Pie Chart ইত্যাদি তৈরি করতে পারেন। এই API-টি আপনাকে 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 যোগ করা হয়েছে!");
}
}
createChart()
মেথডের মাধ্যমে আপনি স্লাইডে একটি নতুন চার্ট যোগ করতে পারবেন।Bar Chart
তৈরি করার জন্য ব্যবহৃত হয়। এতে আপনি ডেটা সিরিজ এবং মান নির্ধারণ করতে পারেন।Apache POI দিয়ে আপনি বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন, যেমন:
নিচে আমরা 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 এর মাধ্যমে চার্টের ডেটা কাস্টমাইজ করতে পারেন, এবং এটি বিশেষত তখন দরকারি যখন আপনার চার্টে বিভিন্ন বিভাগের তথ্য বা পরিসংখ্যান থাকবে।
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) এর জন্য উপযুক্ত।
Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলে গ্রাফ (যেমন Pie, Bar, Line charts) যোগ করতে পারেন। তবে, এটি একটু জটিল কারণ PowerPoint এ গ্রাফ যোগ করার জন্য আপনাকে গ্রাফের ডেটা, কনফিগারেশন এবং সেটিংস সঠিকভাবে নির্ধারণ করতে হয়।
এখানে, Apache POI ব্যবহার করে Pie, Bar, এবং Line গ্রাফ তৈরি করার প্রাথমিক ধারণা এবং উদাহরণ দেখানো হচ্ছে। PowerPoint ফাইলের মধ্যে গ্রাফ যুক্ত করতে XMLSlideShow এবং XSLFChart API ব্যবহার করা হয়।
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();
}
}
}
ChartType.PIE
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 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
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 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
Line Chart এর জন্য ব্যবহৃত হয়।Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলে Pie, Bar, এবং Line Chart (গ্রাফ) যোগ করতে পারেন। এই গ্রাফগুলি তৈরি করার জন্য XSLFChart এবং XSSFWorkbook ব্যবহার করে ডেটা তৈরি করা হয় এবং তারপর সেই ডেটাকে PowerPoint স্লাইডে গ্রাফ হিসেবে প্রদর্শন করা হয়। ChartType
ব্যবহার করে আপনি বিভিন্ন ধরণের গ্রাফ নির্ধারণ করতে পারবেন যেমন Pie, Bar, এবং Line।
Apache POI লাইব্রেরি ব্যবহার করে PowerPoint ফাইলের স্লাইডে Chart (যেমন বার চার্ট, পাই চার্ট ইত্যাদি) যোগ করা এবং তার ডেটা ম্যানিপুলেশন করা সম্ভব। XSLF API এর মাধ্যমে আপনি PowerPoint 2007 এবং তার পরবর্তী সংস্করণের (PPTX) স্লাইডে বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন এবং চার্টের ডেটা পরিবর্তন করতে পারেন।
এখানে আমরা দেখবো কিভাবে PowerPoint স্লাইডে চার্ট যোগ করা যায় এবং তার ডেটা ম্যানিপুলেট করা যায়।
XSLF API ব্যবহার করে 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 ফাইল তৈরি এবং চার্ট যোগ করা হয়েছে!");
}
}
Chart যোগ করার পর আপনি ডেটা পরিবর্তন করতে পারেন এবং নতুন ডেটা পয়েন্ট যোগ করতে পারেন।
আপনার যদি নতুন ডেটা পয়েন্ট যোগ করতে হয়, তাহলে আপনি addDataPoint() মেথড ব্যবহার করে নতুন মান যোগ করতে পারেন।
// নতুন ডেটা পয়েন্ট যোগ করা
series.addDataPoint(45, 67); // Product A, Product B
series.addDataPoint(56, 78);
series.addDataPoint(89, 34);
series.addDataPoint(76, 45); // নতুন ডেটা পয়েন্ট
এই মেথডের মাধ্যমে চার্টে নতুন ডেটা পয়েন্ট যোগ করা হয় এবং এটি চার্টের ডেটা আপডেট করবে।
চার্টের ডেটা পরিবর্তন করার জন্য, আপনি XSLFChartSeries এর ডেটা পয়েন্টগুলোর মান পরিবর্তন করতে পারেন।
// ডেটা পয়েন্ট পরিবর্তন করা
series.setDataPoint(0, 100, 150); // প্রথম ডেটা পয়েন্ট পরিবর্তন (Product A, Product B)
series.setDataPoint(1, 120, 170); // দ্বিতীয় ডেটা পয়েন্ট পরিবর্তন
এটি প্রথম দুটি ডেটা পয়েন্টের মান পরিবর্তন করবে এবং চার্টকে আপডেট করবে।
আপনি যদি চার্টের টাইপ পরিবর্তন করতে চান, যেমন বার চার্ট থেকে লাইনার চার্ট এ পরিবর্তন করতে চান, তবে আপনি XSLFChart এর মেথড ব্যবহার করতে পারেন। তবে, বর্তমান Apache POI সংস্করণে, চার্টের টাইপ পরিবর্তন করতে ChartType নির্ধারণের জন্য সরাসরি কোন API নেই। কিন্তু আপনি XSLFChart এর মাধ্যমে নতুন চার্ট তৈরি করতে পারেন এবং পুরোনো চার্টটি প্রতিস্থাপন করতে পারেন।
আপনি চার্টের স্টাইল এবং ডিজাইন পরিবর্তন করতে XSLF API ব্যবহার করতে পারেন। তবে, Apache POI এর মধ্যে এই ধরনের স্টাইলিং ম্যানিপুলেশন এখনও কিছুটা সীমিত এবং শুধুমাত্র ChartType, Title, Axis ইত্যাদি কাস্টমাইজ করা সম্ভব।
// চার্টের শিরোনাম সেট করা
chart.setTitle("Sales Data");
// এক্সিসের টাইটেল পরিবর্তন
categoryAxis.setTitle("Years");
valueAxis.setTitle("Amount");
এগুলি chart, categoryAxis, এবং valueAxis এর শিরোনাম এবং টাইটেল পরিবর্তন করতে ব্যবহৃত হয়।
চার্টের সিরিজের রঙ পরিবর্তন করতে, আপনি 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 ফাইল তৈরি ও সম্পাদনা করার জন্য অত্যন্ত কার্যকরী।
আপনার যদি আরও কোন প্রশ্ন থাকে বা নির্দিষ্ট কোনো উদাহরণ সম্পর্কে জানতে চান, আমাকে জানাতে পারেন!
অ্যাপাচি পিওআই (Apache POI) লাইব্রেরি ব্যবহার করে PowerPoint স্লাইডে চার্ট যোগ করা এবং সেই চার্টের titles (শিরোনাম) এবং legends (লেজেন্ড) সেট করা সম্ভব। POI আপনাকে Excel বা অন্যান্য ডেটা সোর্স থেকে পাওয়ার পয়েন্টে চার্ট তৈরি করতে সহায়ক টুলস প্রদান করে, যা বিভিন্ন ধরনের ডেটা ভিজুয়ালাইজেশন তৈরি করতে ব্যবহৃত হয়।
এখানে আমরা দেখবো কীভাবে Chart Titles এবং Legends সেট করা যায়, PowerPoint স্লাইডে চার্ট যোগ করে।
PowerPoint স্লাইডে চার্ট যোগ করতে XSLFChart এবং XSLFCategoryAxis ব্যবহার করা হয়। এরপর শিরোনাম (titles) এবং লেজেন্ড (legends) সেট করা হয়।
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();
}
}
চার্টের শিরোনাম এবং লেজেন্ড কাস্টমাইজ করা যেতে পারে যেমন:
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();
}
}
PowerPoint চার্টের শিরোনাম এবং লেজেন্ডের কাস্টমাইজেশনের জন্য আরও কিছু বৈশিষ্ট্য যেমন:
এগুলো ব্যবহার করে আপনি আপনার চার্টের ভিজুয়াল ইফেক্ট আরও আকর্ষণীয় এবং প্রফেশনাল করতে পারবেন।
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে চার্ট তৈরি করা এবং সেই চার্টের titles এবং legends কাস্টমাইজ করা অত্যন্ত সহজ। XSLFTitle
এবং XSLFLegend
ব্যবহার করে আপনি শিরোনাম এবং লেজেন্ডের টেক্সট, ফন্ট সাইজ, রঙ, অবস্থান ইত্যাদি কাস্টমাইজ করতে পারেন। এর মাধ্যমে আপনি আরও প্রফেশনাল এবং ভিজুয়ালি আকর্ষণীয় প্রেজেন্টেশন তৈরি করতে পারবেন।
অ্যাপাচি পিওআই (Apache POI) মডিউলটি PowerPoint ফাইল (.pptx এবং .ppt) ফরম্যাটে গ্রাফের স্টাইল এবং কালার কাস্টমাইজেশন করার জন্য ব্যবহৃত হতে পারে। আপনি যদি PowerPoint স্লাইডে গ্রাফ বা চার্ট যুক্ত করতে চান, তবে XSLF (নতুন .pptx
) মডিউলটি ব্যবহারের মাধ্যমে সহজেই বিভিন্ন গ্রাফের ধরন এবং তাদের স্টাইল কাস্টমাইজ করা সম্ভব।
এই গাইডে, আমরা দেখবো কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে গ্রাফ যুক্ত করা এবং তার স্টাইল ও কালার কাস্টমাইজ করা যায়।
আপনার 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 ফাইল তৈরি হয়েছে এবং গ্রাফের স্টাইল কাস্টমাইজ করা হয়েছে!");
}
}
series.setFillColor(Color.BLUE)
দিয়ে বার চার্টের বারগুলোর রঙ পরিবর্তন করা হয়েছে। এখানে যেকোনো রঙ ব্যবহার করা যেতে পারে যেমন Color.RED
, Color.GREEN
, ইত্যাদি।chart.setTitle("Sample Bar Chart")
দিয়ে সেট করা হয়েছে।setTickMarkType()
ব্যবহার করা হয়েছে।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()
পদ্ধতি দিয়ে বিভিন্ন সেকশনের জন্য রঙ পরিবর্তন করা হয়েছে।
XSLFChartData.Series.setLabelFont()
পদ্ধতি ব্যবহার করা যেতে পারে।chart.getLegend().setVisible()
পদ্ধতি ব্যবহার করা হয়। আপনি চাইলে লিজেন্ডকে কাস্টমাইজ করে তার অবস্থান, রঙ, আকার ইত্যাদি পরিবর্তন করতে পারেন।অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে গ্রাফ বা চার্টের স্টাইল এবং কালার কাস্টমাইজেশন করা সহজ। আপনি বিভিন্ন গ্রাফ টাইপ যেমন বার চার্ট, পাই চার্ট, লাইন চার্ট ইত্যাদি তৈরি করতে পারেন এবং তাদের বিভিন্ন বৈশিষ্ট্য যেমন রঙ, শিরোনাম, এক্সিস, লিজেন্ড ইত্যাদি কাস্টমাইজ করতে পারেন। XSLFChart
এবং XSLFChartData.Series
ক্লাসগুলির মাধ্যমে গ্রাফের প্রতিটি অংশকে কাস্টমাইজ করা সম্ভব।
common.read_more