JFreeChart লাইব্রেরি আপনাকে চার্ট তৈরি করার পরে সেটি বিভিন্ন ফরম্যাটে Export (রপ্তানি) করার সুবিধা দেয়, যেমন PDF এবং SVG। PDF এবং SVG হল দুটি জনপ্রিয় ফরম্যাট যা ডেটা ভিজুয়ালাইজেশন এবং রিপোর্টিং-এ ব্যবহৃত হয়। JFreeChart এই ফরম্যাটগুলোতে চার্ট এক্সপোর্ট করতে সক্ষম, যা রিপোর্ট বা ডেটা প্রেজেন্টেশন তৈরির জন্য উপকারী।
PDF এ Chart Export করা
JFreeChart লাইব্রেরির মাধ্যমে PDF ফরম্যাটে চার্ট এক্সপোর্ট করতে iText লাইব্রেরি ব্যবহার করতে হয়। iText একটি ওপেন-সোর্স লাইব্রেরি যা Java-তে PDF ফাইল তৈরি করার জন্য ব্যবহৃত হয়।
iText লাইব্রেরি ডাউনলোড:
iText লাইব্রেরি Maven বা JAR ফাইলের মাধ্যমে যোগ করা যেতে পারে।
Maven Dependency:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.2.5</version>
</dependency>
JAR ফাইল ডাউনলোড লিংক:
iText Official
PDF এ Chart Export করার উদাহরণ:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class PDFExportExample {
public static void main(String[] args) {
// ডেটাসেট তৈরি করা
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10, "Series1", "Category1");
dataset.addValue(20, "Series1", "Category2");
dataset.addValue(30, "Series1", "Category3");
// Bar Chart তৈরি করা
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Example", // Chart Title
"Category", // X-Axis Label
"Value", // Y-Axis Label
dataset, // Dataset
PlotOrientation.VERTICAL, // Chart Orientation
true, // Legend
true // Tooltips
);
// BufferedImage তৈরি করা
BufferedImage chartImage = chart.createBufferedImage(600, 400);
try {
// PDF ডকুমেন্ট তৈরি
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("chart_example.pdf"));
document.open();
// Chart Image PDF এ যোগ করা
ImageIO.write(chartImage, "PNG", new File("chart_image.png"));
com.itextpdf.text.Image pdfImage = com.itextpdf.text.Image.getInstance("chart_image.png");
document.add(pdfImage);
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা:
- JFreeChart দিয়ে একটি সাধারণ Bar Chart তৈরি করা হয়েছে।
- BufferedImage ব্যবহার করে চার্টের একটি চিত্র তৈরি করা হয়েছে।
- iText লাইব্রেরি ব্যবহার করে PDF ডকুমেন্টে চার্ট ইমেজ যুক্ত করা হয়েছে এবং সেটি একটি ফাইল হিসেবে সেভ করা হয়েছে।
SVG এ Chart Export করা
SVG (Scalable Vector Graphics) একটি ভেক্টর গ্রাফিক্স ফরম্যাট যা অনেক রেজুলেশন-এ স্পষ্ট থাকতে পারে এবং ডেটার উপস্থাপনা আরও সুন্দর ও বোধগম্য করে। JFreeChart সরাসরি SVG ফরম্যাটে এক্সপোর্ট করার জন্য JFreeSVG লাইব্রেরি ব্যবহার করতে হয়।
JFreeSVG লাইব্রেরি ডাউনলোড:
JFreeSVG লাইব্রেরি JAR ফাইল আকারে ডাউনলোড করা যেতে পারে:
SVG এ Chart Export করার উদাহরণ:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.svg.SVGGraphics2D;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class SVGExportExample {
public static void main(String[] args) {
// ডেটাসেট তৈরি করা
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10, "Series1", "Category1");
dataset.addValue(20, "Series1", "Category2");
dataset.addValue(30, "Series1", "Category3");
// Bar Chart তৈরি করা
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Example", // Chart Title
"Category", // X-Axis Label
"Value", // Y-Axis Label
dataset // Dataset
);
// SVGGraphics2D তৈরি করা
SVGGraphics2D svgGenerator = new SVGGraphics2D(600, 400);
chart.draw(svgGenerator, new java.awt.Rectangle(600, 400));
// SVG ফাইল তৈরি করা
try {
FileWriter out = new FileWriter(new File("chart_example.svg"));
svgGenerator.stream(out, true);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা:
- JFreeChart দিয়ে একটি সাধারণ Bar Chart তৈরি করা হয়েছে।
- SVGGraphics2D ব্যবহার করে চার্টের ভেক্টর ইমেজ তৈরি করা হয়েছে।
- FileWriter এর মাধ্যমে SVG ফরম্যাটে সেই ইমেজ একটি ফাইলে সেভ করা হয়েছে।
সারসংক্ষেপ
JFreeChart লাইব্রেরি ব্যবহার করে আপনি সহজেই আপনার তৈরি চার্টগুলো PDF এবং SVG ফরম্যাটে এক্সপোর্ট করতে পারবেন। PDF এক্সপোর্টের জন্য iText লাইব্রেরি এবং SVG এক্সপোর্টের জন্য JFreeSVG লাইব্রেরি ব্যবহার করা হয়। এই এক্সপোর্ট সুবিধার মাধ্যমে আপনি ডেটা ভিজুয়ালাইজেশনকে বিভিন্ন রূপে সংরক্ষণ এবং শেয়ার করতে পারেন।
Read more