JasperReports সেটআপ এবং ইন্সটলেশন

জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

289

JasperReports হল একটি জনপ্রিয় ওপেন সোর্স রিপোর্টিং টুল, যা Java এপ্লিকেশনগুলোর জন্য রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এটি বিভিন্ন ডেটা সোর্স থেকে রিপোর্ট জেনারেট করতে পারে এবং PDF, HTML, Excel, CSV, এবং অন্যান্য ফরম্যাটে আউটপুট প্রদান করে।

JasperReports-এর মূল উপাদান হলো JasperReports Library এবং JasperReports StudioJasperReports Library ব্যবহার করে আপনি Java কোড থেকে রিপোর্ট তৈরি করতে পারেন এবং JasperReports Studio একটি GUI টুল যা রিপোর্ট ডিজাইন করতে সাহায্য করে।

এখানে JasperReports সেটআপ এবং ইনস্টলেশন এর পুরো প্রক্রিয়া ব্যাখ্যা করা হয়েছে।


JasperReports সেটআপ এবং ইনস্টলেশন:

১. JasperReports Library ডাউনলোড এবং ইন্সটল করা

JasperReports লাইব্রেরি ডাউনলোড করতে পারেন JasperReports-এর অফিসিয়াল ওয়েবসাইট থেকে অথবা Maven Repository ব্যবহার করে ইনস্টল করতে পারেন।

Maven Dependency এর মাধ্যমে (বিকল্প ১):

JasperReports Maven প্রজেক্টে যুক্ত করতে, আপনাকে Maven pom.xml ফাইলে নিম্নলিখিত dependency যোগ করতে হবে:

<dependencies>
    <!-- JasperReports Dependency -->
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.18.1</version> <!-- Latest version -->
    </dependency>
</dependencies>
JAR ফাইল ডাউনলোড (বিকল্প ২):
  1. JasperReports JAR ফাইল ডাউনলোড করতে, আপনি এটি JasperReports Official Page থেকে ডাউনলোড করতে পারেন।
  2. তারপর JAR ফাইলগুলি আপনার প্রজেক্টের lib ডিরেক্টরিতে যুক্ত করুন।

২. JasperReports Studio ইনস্টলেশন

JasperReports Studio একটি ডেস্কটপ অ্যাপ্লিকেশন যা Eclipse-based IDE এবং এটি রিপোর্ট ডিজাইন এবং ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। এটি JasperReports এর জন্য GUI টুল হিসেবে কাজ করে এবং সহজে রিপোর্ট তৈরি করার জন্য ড্র্যাগ-এন্ড-ড্রপ ফিচার সরবরাহ করে।

JasperReports Studio ইনস্টলেশন ধাপ:
  1. JasperReports Studio ডাউনলোড:
    • JasperReports Studio ডাউনলোড করতে এই লিঙ্কে যান: Jaspersoft Studio Download
    • Windows, Linux, এবং macOS-এর জন্য ভিন্ন ভিন্ন ইনস্টলেশন ফাইল রয়েছে।
  2. ইন্সটলেশন:
    • ডাউনলোড করা ফাইল রান করুন এবং ইন্সটলেশন প্রক্রিয়া অনুসরণ করুন।
  3. Eclipse এর সাথে ইন্টিগ্রেশন:
    • JasperReports Studio হল Eclipse-based IDE, তাই এটি Eclipse ব্যবহারকারীদের জন্য একটি পরিচিত পরিবেশ সরবরাহ করে।
    • Eclipse যদি আপনার সিস্টেমে ইনস্টল করা থাকে, তবে আপনি Eclipse Marketplace থেকে Jaspersoft Studio Plugin ইনস্টল করতে পারেন।

৩. JasperReports Studio ব্যবহার শুরু করা

JasperReports Studio ইনস্টল করার পর আপনি নিম্নলিখিত পদক্ষেপ অনুসরণ করতে পারেন:

  1. নতুন রিপোর্ট তৈরি করা:
    • File > New > Jasper Report নির্বাচন করুন।
    • রিপোর্টের জন্য একটি Template নির্বাচন করুন, যেমন: Blank A4 বা Report Wizard
    • তারপর, ডেটা সোর্স কনফিগার করুন (যেমন: JDBC, CSV, XML, JSON, etc.)।
  2. ডেটা সোর্স কনফিগারেশন:
    • রিপোর্টের জন্য একটি ডেটা সোর্স তৈরি করতে, Data Adapter ব্যবহার করতে হবে।
    • Data Adapter সেটআপ করার জন্য Window > Preferences > Data Adapters এ গিয়ে আপনার ডেটা সোর্স কনফিগার করুন।
  3. ডিজাইন এডিট করা:
    • Fields, Variables, এবং Parameters যোগ করে রিপোর্টের ডিজাইন সম্পাদন করুন।
    • Text Fields এবং Images ব্যবহার করে রিপোর্টের আউটপুট কাস্টমাইজ করতে পারেন।
  4. প্রিভিউ এবং এক্সপোর্ট:
    • Preview ট্যাবটি ব্যবহার করে রিপোর্টটি দেখতে পারেন এবং Export অপশন থেকে PDF, Excel, HTML সহ অন্যান্য ফরম্যাটে রিপোর্ট এক্সপোর্ট করতে পারেন।

৪. JasperReports কোডিং এবং রিপোর্ট জেনারেশন

JasperReports Studio ব্যবহার করে রিপোর্ট ডিজাইন করার পর, আপনি Java Code থেকে রিপোর্টটি fill এবং export করতে পারবেন।

Java কোড ব্যবহার করে রিপোর্ট তৈরি করা:
  1. JasperReports লাইব্রেরি ইনস্টল করুন: আপনার প্রজেক্টে JasperReports লাইব্রেরি যোগ করতে হবে, যদি আপনি Maven ব্যবহার না করেন, তবে ডাউনলোড করা JAR ফাইলগুলি আপনার প্রজেক্টে যুক্ত করতে হবে।
  2. রিপোর্ট ফিলিং:
    • JasperFillManager ব্যবহার করে রিপোর্টটি ফিল করুন।
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

public class JasperReportExample {
    public static void main(String[] args) {
        try {
            // Report Design File (JRXML)
            String sourceFileName = "path/to/report.jasper";

            // DataSource for the report (JDBC, Collection, etc.)
            JRDataSource jrDataSource = new JREmptyDataSource();

            // Fill the report with data
            JasperPrint jasperPrint = JasperFillManager.fillReport(sourceFileName, null, jrDataSource);

            // Show report in JasperViewer
            JasperViewer.viewReport(jasperPrint, false);
        } catch (JRException e) {
            e.printStackTrace();
        }
    }
}
  1. PDF রিপোর্ট এক্সপোর্ট:
    • JasperExportManager ব্যবহার করে রিপোর্টকে PDF আউটপুটে রূপান্তর করা।
JasperExportManager.exportReportToPdfFile(jasperPrint, "path/to/output.pdf");

৫. JasperReports কনফিগারেশন এবং অন্যান্য টিপস

  • Data Source: আপনার রিপোর্টের জন্য সঠিক JDBC Connection, XML, CSV, বা JSON ডেটা সোর্স নির্বাচন করতে ভুলবেন না।
  • Error Handling: রিপোর্টের সময় যদি কোনো ত্রুটি হয়, তবে সেই ত্রুটির জন্য JasperException এবং JRException ব্যবহার করে Exception handling করুন।
  • JasperReports Templates: রিপোর্ট ডিজাইন করার জন্য .jrxml টেমপ্লেট ব্যবহার করতে হবে, যা পরবর্তীতে .jasper ফাইলে কম্পাইল করা হয়।

JasperReports একটি শক্তিশালী এবং নমনীয় রিপোর্টিং টুল যা সহজেই Java applications এর সাথে ইন্টিগ্রেট করা যায়। রিপোর্ট ডিজাইন এবং কোডিং করার জন্য JasperReports Studio এবং JasperReports Library ব্যবহার করতে পারেন। Maven এর মাধ্যমে JasperReports লাইব্রেরি ইন্সটল করা সহজ এবং সেটআপ করার সময় সতর্ক থাকতে হবে ডেটা সোর্স এবং টেমপ্লেট ফাইলগুলোর কনফিগারেশন নিয়ে।

JasperReports সেটআপ এবং ইন্সটলেশনের এই প্রক্রিয়াটি আপনাকে একসাথে রিপোর্ট তৈরি, ডিজাইন, এবং কাস্টমাইজেশন করতে সাহায্য করবে।

Content added By

JasperReports একটি ওপেন সোর্স Java রিপোর্টিং লাইব্রেরি যা আপনাকে বিভিন্ন ধরনের রিপোর্ট তৈরি করতে সাহায্য করে, যেমন পিডিএফ, এক্সএমএল, এক্সএলএস, হটেলিঙ্ক, ইত্যাদি। JasperReports ব্যবহার করতে আপনাকে প্রথমে লাইব্রেরি ডাউনলোড এবং সেটআপ করতে হবে।

JasperReports লাইব্রেরি ডাউনলোড এবং সেটআপ করার স্টেপ-বাই-স্টেপ গাইড

1. JasperReports লাইব্রেরি ডাউনলোড

JasperReports লাইব্রেরি ডাউনলোড করার জন্য কয়েকটি উপায় রয়েছে। দুইটি প্রধান পদ্ধতি হল:

a. Maven Dependency ব্যবহার করে (পূর্ববর্তী নির্বাচন)

Maven ব্যবহার করলে JasperReports লাইব্রেরি খুব সহজে ডাউনলোড এবং ইন্টিগ্রেট করা যায়। আপনার প্রকল্পের pom.xml ফাইলটি নিচের মতো কনফিগার করুন:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.18.1</version> <!-- ব্যবহারযোগ্য সর্বশেষ সংস্করণ -->
</dependency>

Maven স্বয়ংক্রিয়ভাবে লাইব্রেরিটি ডাউনলোড করবে এবং আপনার প্রজেক্টে ইন্টিগ্রেট করবে।

b. ডিরেক্ট ডাউনলোড (Jar ফাইল)
  1. আপনি JasperReports-এর সর্বশেষ ভার্সন ডাউনলোড করতে পারেন নিচের লিঙ্ক থেকে:
  2. ডাউনলোডের পর আপনি JasperReports JAR ফাইলগুলো আপনার প্রজেক্টে অন্তর্ভুক্ত করতে পারেন।

2. JasperReports লাইব্রেরি সেটআপ করা

a. Maven প্রকল্পে সেটআপ

Maven প্রকল্পে pom.xml ফাইলটিতে উপরের dependency যুক্ত করার পর, আপনি Maven থেকে সরাসরি JasperReports লাইব্রেরি ব্যবহার করতে পারবেন।

b. Non-Maven প্রকল্পে সেটআপ

আপনি যদি Maven ব্যবহার না করেন তবে আপনাকে JasperReports-এর JAR ফাইল গুলো আপনার প্রকল্পের lib ফোল্ডারে ম্যানুয়ালি অন্তর্ভুক্ত করতে হবে। তারপর সেই JAR ফাইলগুলো আপনার প্রকল্পের classpath এ যুক্ত করতে হবে।

  1. ডাউনলোড করা JAR ফাইলগুলি প্রকল্পের lib/ ফোল্ডারে রাখুন।
  2. Java IDE (যেমন Eclipse, IntelliJ) ব্যবহার করলে, আপনার প্রকল্পে JAR ফাইলগুলো Build Path-এ যুক্ত করুন।

3. JasperReports ব্যবহার শুরু করা

এখন, লাইব্রেরি সফলভাবে সেটআপ হলে, আপনি JasperReports ব্যবহার করতে পারবেন। সাধারণত, রিপোর্ট তৈরির জন্য JasperReport ফাইল তৈরি করা হয় (যেমন: .jrxml), এবং এরপর সেগুলোকে JasperFillManager এবং JasperExportManager এর মাধ্যমে পিডিএফ বা অন্য ফরম্যাটে রূপান্তর করা হয়।

প্রাথমিক কোড উদাহরণ:

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

import java.util.HashMap;
import java.util.Map;

public class JasperReportsExample {
    public static void main(String[] args) {
        try {
            // .jrxml ফাইলের পথ
            String sourceFileName = "path_to_your_report_template.jrxml";
            
            // রিপোর্ট কম্পাইল করা
            JasperReport jasperReport = JasperCompileManager.compileReport(sourceFileName);

            // রিপোর্টে ব্যবহৃত প্যারামিটার (যদি থাকে)
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "My Report Title");

            // ডেটা সোর্স তৈরি করুন (এখানে আমরা একটি ফাঁকা ডেটাসোর্স ব্যবহার করেছি)
            JRDataSource dataSource = new JREmptyDataSource();

            // রিপোর্ট পূর্ণ করুন
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

            // রিপোর্ট পিডিএফ ফরম্যাটে রপ্তানি করা
            JasperExportManager.exportReportToPdfFile(jasperPrint, "generated_report.pdf");

            // রিপোর্ট দেখুন
            JasperViewer.viewReport(jasperPrint, false);
        } catch (JRException e) {
            e.printStackTrace();
        }
    }
}

এখানে কি হচ্ছে:

  1. JasperCompileManager.compileReport: .jrxml ফাইলটি .jasper ফরম্যাটে কম্পাইল করা হয়।
  2. JasperFillManager.fillReport: রিপোর্ট পূর্ণ করা হয় এবং ডেটাসোর্স দিয়ে রিপোর্টের ডেটা ফিল করা হয়।
  3. JasperExportManager.exportReportToPdfFile: রিপোর্টটি পিডিএফ ফরম্যাটে রপ্তানি করা হয়।
  4. JasperViewer.viewReport: রিপোর্টটি GUI-তে দেখানোর জন্য ব্যবহার করা হয়।

4. JasperReports ব্যবহারকারী GUI (iReport Designer)

  • iReport Designer একটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) টুল যা JasperReports-এর জন্য রিপোর্ট তৈরি করতে সহায়তা করে।
  • iReport ব্যবহার করে আপনি সহজেই রিপোর্টের layout ডিজাইন করতে পারেন এবং তারপর এটি .jrxml ফাইলের মাধ্যমে JasperReports-এ প্রক্রিয়া করতে পারেন।

iReport ডাউনলোড করতে:


  1. JasperReports লাইব্রেরি ব্যবহার করতে আপনাকে প্রথমে সেটআপ করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে সহজেই dependency ব্যবহার করতে পারবেন।
  2. Non-Maven প্রকল্পে আপনি জার ফাইলগুলো lib/ ফোল্ডারে রাখবেন এবং classpath এ যুক্ত করবেন।
  3. JasperReports ব্যবহার শুরু করতে JasperFillManager, JasperExportManager এবং JasperViewer এর মাধ্যমে রিপোর্ট তৈরি এবং প্রদর্শন করা যায়।
  4. iReport Designer ব্যবহার করে রিপোর্টের ডিজাইন আরও সহজ এবং দ্রুত করা যায়।

এই প্রক্রিয়া অনুসরণ করলে আপনি দ্রুত JasperReports সেটআপ করতে পারবেন এবং আপনার প্রোজেক্টে রিপোর্টিং ফিচার যুক্ত করতে পারবেন।

Content added By

JasperReports একটি ওপেন সোর্স Java Reporting টুল যা বিভিন্ন ধরনের রিপোর্ট তৈরি এবং জেনারেট করতে ব্যবহৃত হয়। এটি সাধারণত PDF, HTML, Excel, CSV, এবং অন্যান্য ফরম্যাটে রিপোর্ট জেনারেট করতে সাহায্য করে।

Maven ব্যবহার করে JasperReports অন্তর্ভুক্ত করতে, আপনাকে Maven-এর pom.xml ফাইলে সঠিক ডিপেনডেন্সি যোগ করতে হবে।


Maven দিয়ে JasperReports অন্তর্ভুক্ত করার জন্য ধাপসমূহ

Step 1: Maven প্যাকেজ ব্যবহার করে JasperReports ডিপেনডেন্সি যোগ করা

প্রথমে, আপনার pom.xml ফাইলে নিম্নলিখিত JasperReports ডিপেনডেন্সি যোগ করুন।

<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.19.1</version> <!-- You can check for the latest version -->
    </dependency>
</dependencies>

এখানে, 6.19.1 হল JasperReports এর একটি সংস্করণ। আপনি নতুন সংস্করণ ব্যবহার করতে পারেন, যেমনঃ 6.19.1

Step 2: জেনারেট করার জন্য JasperReports Template (JRXML) তৈরি করা

JasperReports রিপোর্ট জেনারেট করার জন্য JRXML ফাইল তৈরি করতে হবে, যা একটি XML ফাইল যেখানে রিপোর্টের কাঠামো এবং ডেটা সোর্স সম্পর্কিত তথ্য থাকে।

Sample JRXML file (example_report.jrxml):

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" 
              name="exampleReport" language="java" pageWidth="595" pageHeight="842" 
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    
    <!-- Report fields -->
    <field name="name" class="java.lang.String"/>
    <field name="age" class="java.lang.Integer"/>

    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="220" y="0" width="100" height="20"/>
                <textFieldExpression><![CDATA[$F{age}]]></textFieldExpression>
            </textField>
        </band>
    </detail>

</jasperReport>

এই ফাইলটি একটি সাধারণ JasperReport টেমপ্লেট যা দুটি ফিল্ড (name এবং age) ব্যবহার করবে।

Step 3: JasperReports Template (JRXML) থেকে .jasper ফাইল তৈরি করা

আপনার JRXML ফাইলকে .jasper ফাইলে কম্পাইল করতে হবে, যা রিপোর্ট জেনারেট করার জন্য ব্যবহার হবে।

Java Code to Compile JRXML to Jasper File:

import net.sf.jasperreports.engine.*;

import java.util.HashMap;
import java.util.Map;

public class JasperReportExample {

    public static void main(String[] args) {
        try {
            // JRXML ফাইল থেকে .jasper ফাইল তৈরি করা
            JasperReport jasperReport = JasperCompileManager.compileReport("example_report.jrxml");

            // রিপোর্টের জন্য ডেটা সোর্স তৈরি
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "Sample Report");

            // রিপোর্ট প্রিন্ট করার জন্য ডেটা (আপনার ডেটা সোর্স ব্যবহার করুন)
            // Dummy data for testing
            JRDataSource dataSource = new JRBeanCollectionDataSource(getSampleData());

            // রিপোর্ট তৈরি করা এবং মুদ্রণ
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

            // রিপোর্টকে PDF ফরম্যাটে রপ্তানি করা
            JasperExportManager.exportReportToPdfFile(jasperPrint, "sample_report.pdf");

            System.out.println("Report generated successfully!");

        } catch (JRException e) {
            e.printStackTrace();
        }
    }

    // Dummy Data for testing (Sample data)
    public static List<User> getSampleData() {
        List<User> users = new ArrayList<>();
        users.add(new User("John Doe", 25));
        users.add(new User("Jane Smith", 30));
        return users;
    }

    // Sample User class for data
    public static class User {
        private String name;
        private int age;

        public User(String name, int age) {
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }
    }
}

এখানে:

  • JasperCompileManager.compileReport(): এটি JRXML ফাইলকে .jasper ফাইল (compiled report) এ রূপান্তর করে।
  • JasperFillManager.fillReport(): এটি রিপোর্টটি পূর্ণ করে, যেখানে আপনি প্যারামিটার এবং ডেটা সোর্স প্রদান করেন।
  • JasperExportManager.exportReportToPdfFile(): এটি রিপোর্টটিকে একটি PDF ফাইলে রপ্তানি করে।

Step 4: JasperReports Maven Dependency

আপনার pom.xml ফাইলে JasperReports-এর জন্য Maven ডিপেনডেন্সি যোগ করুন:

<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.19.1</version>  <!-- Latest stable version -->
    </dependency>
</dependencies>

Step 5: JasperReports Template ফাইল (JRXML) কম্পাইল করা

এখন, JasperCompileManager.compileReport("example_report.jrxml") ব্যবহার করে আপনি JRXML ফাইলকে .jasper ফাইলে কম্পাইল করতে পারেন। এটি রিপোর্ট তৈরির জন্য একটি কম্পাইলড ফাইল হিসেবে কাজ করবে।


  • Maven দিয়ে JasperReports অন্তর্ভুক্ত করার জন্য jasperreports ডিপেনডেন্সি আপনার pom.xml ফাইলে যুক্ত করতে হবে।
  • JRXML ফাইল তৈরি করুন, যা রিপোর্টের কাঠামো এবং ডেটার জন্য ডেফিনেশন প্রদান করবে।
  • JasperCompileManager, JasperFillManager, এবং JasperExportManager ব্যবহার করে রিপোর্ট কম্পাইল, ফিল, এবং এক্সপোর্ট করা যাবে।

JasperReports আপনাকে গ্রাফিকাল এবং টেবুলার রিপোর্ট তৈরি করতে সাহায্য করে যা আপনার অ্যাপ্লিকেশনে অন্তর্ভুক্ত করতে পারেন।

Content added By

JasperReports একটি জনপ্রিয় Java Reporting লাইব্রেরি যা ব্যবহার করে প্রোগ্রামmatically অথবা GUI ব্যবহার করে রিপোর্ট তৈরি এবং কাস্টমাইজ করা যায়। JasperReports ব্যবহার করতে হলে, আপনাকে কিছু প্রাথমিক কনফিগারেশন এবং লাইব্রেরি যোগ করতে হবে। এটি সাধারণত Eclipse বা IntelliJ IDEA তে কাজ করা হয়।

এখানে Eclipse এবং IntelliJ IDEA এর জন্য JasperReports প্রজেক্ট কনফিগারেশন সম্পর্কিত একটি বিস্তারিত গাইড দেওয়া হল।


Eclipse তে JasperReports প্রজেক্ট কনফিগারেশন

Step 1: Eclipse এ নতুন Java প্রজেক্ট তৈরি করুন

  1. Eclipse খুলুন এবং New Project সিলেক্ট করুন।
  2. Java Project সিলেক্ট করুন এবং একটি প্রজেক্টের নাম দিন, যেমন JasperReportsExample
  3. Finish ক্লিক করুন।

Step 2: JasperReports লাইব্রেরি যোগ করুন

Option 1: Maven ব্যবহার করে (যদি Maven প্রকল্প থাকে)

  1. pom.xml ফাইলে JasperReports এর ডিপেনডেন্সি যোগ করুন:
<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.17.0</version>
    </dependency>
</dependencies>

Option 2: JAR ফাইল ডাউনলোড এবং যোগ করা (যদি Maven ব্যবহার না করেন)

  1. JasperReports Download থেকে JasperReports লাইব্রেরির JAR ফাইল ডাউনলোড করুন।
  2. JasperReports JAR ফাইলটি আপনার প্রজেক্টের lib ফোল্ডারে রাখুন।
  3. EclipseProject → Properties → Java Build Path → Libraries এ গিয়ে Add JARs ক্লিক করুন এবং ডাউনলোড করা JAR ফাইলটি সিলেক্ট করুন।

Step 3: JasperReports ডিরেক্টরি তৈরি করুন

  1. src ফোল্ডারের মধ্যে একটি নতুন ডিরেক্টরি তৈরি করুন যেমন report
  2. এই ডিরেক্টরির মধ্যে .jrxml (JasperReports Template) ফাইলগুলি রাখবেন।

Step 4: JasperReports কোড লিখুন

একটি সাধারণ JasperReports কোড লিখে .jrxml ফাইলটি ব্যবহার করুন।

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

public class JasperReportsExample {

    public static void main(String[] args) {
        try {
            // Report Template (.jrxml file)
            String reportPath = "report/sample_report.jrxml";

            // Compile .jrxml file into .jasper
            JasperReport jasperReport = JasperCompileManager.compileReport(reportPath);

            // Parameters for the report (if any)
            Map<String, Object> parameters = new HashMap<>();

            // DataSource (could be from a database, CSV, or custom data)
            JRDataSource dataSource = new JREmptyDataSource();

            // Generate the report
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

            // Show the report in a JasperViewer window
            JasperViewer.viewReport(jasperPrint);
        } catch (JRException e) {
            e.printStackTrace();
        }
    }
}

Step 5: Report Template (JRXML) তৈরি করুন

Eclipse এর মধ্যে JasperReports Studio বা iReport ব্যবহার করতে পারেন বা .jrxml ফাইলটি ম্যানুয়ালি তৈরি করতে পারেন।

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="Sample Report" pageWidth="595" pageHeight="842">
    <title>Sample Report</title>
    <columnHeader>
        <staticText>
            <reportElement x="0" y="0" width="100" height="20"/>
            <textElement/>
            <text><![CDATA[Name]]></text>
        </staticText>
    </columnHeader>
    <detail>
        <textField>
            <reportElement x="0" y="0" width="100" height="20"/>
            <textFieldExpression><![CDATA["John Doe"]]></textFieldExpression>
        </textField>
    </detail>
</jasperReport>

এটি একটি সহজ .jrxml ফাইল যা রিপোর্টের জন্য টাইটেল এবং একটি নামের কলাম ধারণ করবে।

Step 6: JasperReports চালানো এবং রিপোর্ট দেখা

Eclipse এ Run ক্লিক করলে রিপোর্টের আউটপুট হিসেবে একটি উইন্ডো খুলবে যেখানে রিপোর্ট প্রদর্শিত হবে।


IntelliJ IDEA তে JasperReports প্রজেক্ট কনফিগারেশন

Step 1: IntelliJ IDEA এ নতুন Java প্রজেক্ট তৈরি করুন

  1. IntelliJ IDEA খুলুন এবং একটি নতুন Java Project তৈরি করুন।
  2. Next ক্লিক করুন এবং একটি প্রজেক্ট নাম দিন, যেমন JasperReportsExample
  3. Finish ক্লিক করুন।

Step 2: Maven ব্যবহার করে JasperReports লাইব্রেরি যোগ করুন

  1. pom.xml ফাইলটি খুলুন এবং নিচের ডিপেনডেন্সি যোগ করুন।
<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.17.0</version>
    </dependency>
</dependencies>

Step 3: JasperReports ডিরেক্টরি তৈরি করুন

  1. src/main/resources ফোল্ডারে একটি report নামক ডিরেক্টরি তৈরি করুন।
  2. এই ডিরেক্টরির মধ্যে .jrxml (JasperReports Template) ফাইল রাখুন।

Step 4: JasperReports কোড লিখুন

IntelliJ IDEA তে JasperReports কোড একইভাবে লিখুন যেমন Eclipse তে করা হয়েছিল, এবং আপনি JasperCompileManager এবং JasperFillManager ব্যবহার করে রিপোর্ট তৈরি এবং পূর্ণাঙ্গ রিপ্রেজেন্টেশন দেখতে পারবেন।


JasperReports একটি শক্তিশালী এবং নমনীয় লাইব্রেরি যা আপনাকে জাভাতে কাস্টম রিপোর্ট তৈরি করতে সহায়তা করে। Eclipse এবং IntelliJ IDEA-তে JasperReports কনফিগারেশন প্রক্রিয়া বেশ সহজ। আপনি Maven বা JAR ফাইলের মাধ্যমে লাইব্রেরি যোগ করতে পারেন এবং কাস্টম রিপোর্ট তৈরি, কাস্টম ডেটা সোর্স ব্যবহার, এবং রিপোর্ট ভিউ করতে পারেন। JasperReports ব্যবহার করে আপনি সহজেই কাস্টম ডিজাইন করা রিপোর্ট তৈরি করতে পারবেন এবং সেই রিপোর্টগুলির আউটপুট হিসেবে PDF, Excel, HTML, CSV ইত্যাদি ফরম্যাটে দেখতে পারবেন।

Content added By

JasperReports একটি জনপ্রিয় ওপেন সোর্স রিপোর্টিং টুল যা Java অ্যাপ্লিকেশনগুলির জন্য রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ডেটা ফরম্যাটে (যেমন PDF, HTML, Excel, CSV) রিপোর্ট জেনারেট করতে সক্ষম। JasperReports সাধারণত JasperReports Library বা JasperReports Server হিসেবে ব্যবহৃত হয় এবং এটি বিভিন্ন ডেটাবেস, XML, CSV, বা JavaBeans-এর সাথে ইন্টিগ্রেট করা যায়।

Spring Framework-এর সাথে JasperReports ইন্টিগ্রেট করার মাধ্যমে আপনি Spring-based অ্যাপ্লিকেশনে রিপোর্ট তৈরি এবং পরিচালনা করতে পারবেন। এই ইন্টিগ্রেশন সাধারণত Spring MVC বা Spring Boot অ্যাপ্লিকেশনগুলোতে ব্যবহৃত হয়।


JasperReports এর সাথে Java এবং Spring Integration

JasperReports এর সাথে Java এবং Spring Integration করার জন্য প্রধানত তিনটি উপাদান থাকে:

  1. JasperReports Library: Java-based reporting tool যা JasperReports ফাইল (JRXML) তৈরি এবং রিপোর্ট জেনারেট করতে ব্যবহৃত হয়।
  2. JasperReports Server: একটি Web-based Server যা Reports এবং Dashboards হোস্ট এবং ম্যানেজ করার জন্য ব্যবহৃত হয়।
  3. JasperReports Library Integration: Java অ্যাপ্লিকেশন বা Spring Framework এর সাথে রিপোর্ট তৈরি করার জন্য jasperreports লাইব্রেরি ব্যবহৃত হয়।

Spring Framework-এ JasperReports ইন্টিগ্রেট করার জন্য jasperreports এবং spring-jasperreports লাইব্রেরি যোগ করতে হবে, যাতে JasperReports ম্যানেজ এবং জেনারেট করা রিপোর্ট Spring Context-এর মাধ্যমে পরিচালিত হতে পারে।


Step-by-Step Guide: JasperReports Integration in Spring Boot

Step 1: Dependency Setup

Spring Boot অ্যাপ্লিকেশনে JasperReports লাইব্রেরি ইন্টিগ্রেট করতে প্রথমে Maven বা Gradle ডিপেন্ডেন্সি যোগ করতে হবে।

Maven Dependency:

<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.19.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-fonts</artifactId>
        <version>6.19.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
</dependencies>

Gradle Dependency:

dependencies {
    implementation 'net.sf.jasperreports:jasperreports:6.19.0'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'net.sf.jasperreports:jasperreports-fonts:6.19.0'
    implementation 'org.springframework:spring-web'
}

Step 2: JasperReports Template (.jrxml) তৈরি করা

JasperReports রিপোর্ট তৈরি করার জন্য, আপনাকে একটি .jrxml ফাইল তৈরি করতে হবে যা রিপোর্টের ডিজাইন এবং ফিল্ডগুলির ডেটা মডেল নির্ধারণ করবে।

Example: report_template.jrxml
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
              http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" 
              name="Sample Report" pageWidth="595" pageHeight="842" columnWidth="515" 
              leftMargin="40" rightMargin="40" topMargin="40" bottomMargin="40">
    <field name="name" class="java.lang.String"/>
    <field name="age" class="java.lang.Integer"/>
    <title>
        <band height="50">
            <textField>
                <reportElement x="0" y="0" width="500" height="30"/>
                <textFieldExpression><![CDATA["Sample Report"]]></textFieldExpression>
            </textField>
        </band>
    </title>
    <detail>
        <band height="30">
            <textField>
                <reportElement x="0" y="0" width="250" height="30"/>
                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="260" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA[$F{age}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

এখানে, name এবং age ফিল্ডে ডেটা থাকবে এবং প্রতিটি পংক্তি একটি নির্দিষ্ট রিপোর্টে উপস্থাপিত হবে।


Step 3: JasperReports Service তৈরি করা

Spring Boot অ্যাপ্লিকেশন থেকে JasperReports ব্যবহার করার জন্য একটি JasperReports Service তৈরি করতে হবে যা রিপোর্টের ইনপুট ডেটা প্রদান করবে এবং রিপোর্ট তৈরি করবে।

JasperReportsService.java
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class JasperReportsService {

    @Value("classpath:report_template.jrxml")
    private InputStream jasperTemplate;

    public byte[] generateReport(List<Person> persons) throws JRException {
        // Compile the Jasper report
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperTemplate);

        // Set parameters
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("ReportTitle", "Person Report");

        // Create JRDataSource
        JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(persons);

        // Fill report
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

        // Export the report to PDF
        return JasperExportManager.exportReportToPdf(jasperPrint);
    }
}

Step 4: Controller তৈরি করা

Spring Boot Controller তৈরি করে ব্যবহারকারীকে রিপোর্ট জেনারেট করার জন্য একটি API Endpoint প্রদান করুন।

JasperReportsController.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;

@RestController
public class JasperReportsController {

    @Autowired
    private JasperReportsService jasperReportsService;

    @GetMapping("/generate-report")
    public ResponseEntity<byte[]> generateReport(@RequestParam("name") String name) throws Exception {
        List<Person> persons = Arrays.asList(new Person(name, 25), new Person("Jane", 30));
        byte[] report = jasperReportsService.generateReport(persons);
        return ResponseEntity.ok()
                .header("Content-Type", "application/pdf")
                .header("Content-Disposition", "inline; filename=report.pdf")
                .body(report);
    }
}

এখানে, /generate-report URL এ GET রিকোয়েস্ট পাঠানোর মাধ্যমে আপনি রিপোর্ট জেনারেট করতে পারেন এবং PDF আউটপুট পাবেন।

Step 5: Person Model

public class Person {
    private String name;
    private int age;

    // Constructor, Getter, and Setter

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getters and Setters
}

Step 6: Running the Application

আপনি Spring Boot অ্যাপ্লিকেশনটি রান করলে, /generate-report?name=John রিকোয়েস্ট পাঠানোর মাধ্যমে PDF রিপোর্ট পাবেন।


JasperReports এর সাথে Spring Integration-এর সুবিধা:

  1. Flexible Reporting:
    • JasperReports শক্তিশালী এবং নমনীয়, যার ফলে আপনি JSON, XML বা অন্য কোনো ডেটার সোর্স থেকে রিপোর্ট তৈরি করতে পারেন।
  2. Support for Multiple Output Formats:
    • JasperReports একাধিক আউটপুট ফরম্যাট সমর্থন করে, যেমন PDF, Excel, HTML, CSV ইত্যাদি।
  3. Comprehensive Report Features:
    • JasperReports ব্যবহার করে আপনি পৃষ্ঠা নম্বর, চার্ট, গ্রাফ, ডেটা টেবিল, সাব-রিপোর্ট, প্যারামিটার এবং কাস্টম লজিক সহ রিপোর্ট তৈরি করতে পারবেন।
  4. Easy Spring Integration:
    • Spring Boot বা Spring MVC অ্যাপ্লিকেশনগুলির সাথে JasperReports একত্রিত করা সহজ, এবং রিপোর্টগুলি দ্রুত এবং কার্যকরীভাবে তৈরি এবং প্রদান করা যায়।

Spring Framework এবং JasperReports একত্রিত করার মাধ্যমে আপনি সহজে রিপোর্ট তৈরি করতে পারেন, যা REST API বা Web Application থেকে সরাসরি JSON বা ডেটাবেস ডেটা ব্যবহার করে তৈরি হয়। JasperReports-এর মাধ্যমে বিভিন্ন আউটপুট ফরম্যাট (যেমন PDF, Excel, HTML) সহজেই সাপোর্ট করা যায়। JasperReports Spring Integration ডেভেলপারদের রিপোর্ট তৈরির জন্য শক্তিশালী এবং নমনীয় সলিউশন প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...