Конструктор отчетов на php

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

License

PHPJasper/phpjasper

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Читайте также:  Конечный автомат пример python

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

…/guzzle-7.4.5 Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5

Git stats

Files

Failed to load latest commit information.

README.md

PHPJasper logo

Please consider make a donation, support our activities

PHPJasper is the best solution to compile and process JasperReports (.jrxml & .jasper files) just using PHP, in short: to generate reports using PHP.

  • PHPJasper Can be used regardless of your PHP Framework
  • For PHP versions less than 7.0 see: v1.16
  • Here are several examples of how to use PHPJasper

Did you ever had to create a good looking Invoice with a lot of fields for your great web app?

I had to, and the solutions out there were not perfect. Generating HTML + CSS to make a PDF? That doesn’t make any sense! 🙂

Then I found JasperReports the best open source solution for reporting.

Well, everything. JasperReports is a powerful tool for reporting and BI.

From their website:

The JasperReports Library is the world’s most popular open source reporting engine. It is entirely written in Java and it is able to use data coming from any kind of data source and produce pixel-perfect documents that can be viewed, printed or exported in a variety of document formats including HTML, PDF, Excel, OpenOffice and Word.

It is recommended using Jaspersoft Studio to build your reports, connect it to your datasource (ex: MySQL, POSTGRES), loop thru the results and output it to PDF, XLS, DOC, RTF, ODF, etc.

Some examples of what you can do:

  • Any jdbc drivers to generate reports from a database (MySQL, PostgreSQL, MSSQL. ), must be copied to a folder bin/jasperstarter/jdbc
  • We ship the PostgreSQL (42.2.9) in the bin/jasperstarter/jdbc directory.
  • We ship the MySQL connector (v5.1.48) in the bin/jasperstarter/jdbc directory.
  • Microsoft JDBC Drivers SQL Server .
  • Jaspersoft Studio (to draw your reports).

Install Composer if you don’t have it.

composer require geekcom/phpjasper 

Or in your file’composer.json’ add:

< "require": < "geekcom/phpjasper": "^3.2.0" > >

With Docker CE and docker-compose installed just run:

  • docker exec -it phpjasper sudo composer test or
  • docker exec -it phpjasper sudo composer testdox

To see coverage manually of tests, execute the file: tests/log/report/index.html

Help us writing new tests, make a fork 🙂

Go to the examples directory in the root of the repository ( vendor/geekcom/phpjasper/examples ). Open the hello_world.jrxml file with Jaspersoft Studio or with your favorite text editor and take a look at the source code.

First we need to compile our JRXML file into a JASPER binary file. We just have to do this one time.

Note 1: You don’t need to do this step if you are using Jaspersoft Studio. You can compile directly within the program.

require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jrxml'; $jasper = new PHPJasper; $jasper->compile($input)->execute();

This commando will compile the hello_world.jrxml source file to a hello_world.jasper file.

Now lets process the report that we compile before:

require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jasper'; $output = __DIR__ . '/vendor/geekcom/phpjasper/examples'; $options = [ 'format' => ['pdf', 'rtf'] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute();

Now check the examples folder! 🙂 Great right? You now have 2 files, hello_world.pdf and hello_world.rtf .

Check the methods compile and process in src/JasperPHP.php for more details

Querying the jasper file to examine parameters available in the given jasper report file:

require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world_params.jrxml'; $jasper = new PHPJasper; $output = $jasper->listParameters($input)->execute(); foreach($output as $parameter_description) print $parameter_description . '
';

Using database to generate reports

We can also specify parameters for connecting to database:

require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = '/your_input_path/your_report.jasper'; $output = '/your_output_path'; $options = [ 'format' => ['pdf'], 'locale' => 'en', 'params' => [], 'db_connection' => [ 'driver' => 'postgres', //mysql, . 'username' => 'DB_USERNAME', 'password' => 'DB_PASSWORD', 'host' => 'DB_HOST', 'database' => 'DB_DATABASE', 'port' => '5432' ] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute();

For a complete list of locales see Supported Locales

require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = '/your_input_path/your_report.jasper or .jrxml'; $output = '/your_output_path'; $jdbc_dir = __DIR__ . '/vendor/geekcom/phpjasper/bin/jaspertarter/jdbc'; $options = [ 'format' => ['pdf'], 'locale' => 'en', 'params' => [], 'db_connection' => [ 'driver' => 'generic', 'host' => '127.0.0.1', 'port' => '1433', 'database' => 'DataBaseName', 'username' => 'UserName', 'password' => 'password', 'jdbc_driver' => 'com.microsoft.sqlserver.jdbc.SQLServerDriver', 'jdbc_url' => 'jdbc:sqlserver://127.0.0.1:1433;databaseName=Teste', 'jdbc_dir' => $jdbc_dir ] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute();
require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = '/your_input_path/your_report.jasper'; $output = '/your_output_path'; $data_file = __DIR__ . '/your_data_files_path/your_xml_file.xml'; $options = [ 'format' => ['pdf'], 'params' => [], 'locale' => 'en', 'db_connection' => [ 'driver' => 'xml', 'data_file' => $data_file, 'xml_xpath' => '/your_xml_xpath' ] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute();
require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; $input = '/your_input_path/your_report.jasper'; $output = '/your_output_path'; $data_file = __DIR__ . '/your_data_files_path/your_json_file.json'; $options = [ 'format' => ['pdf'], 'params' => [], 'locale' => 'en', 'db_connection' => [ 'driver' => 'json', 'data_file' => $data_file, 'json_query' => 'your_json_query' ] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute();

Depends on the complexity, amount of data and the resources of your machine (let me know your use case).

I have a report that generates a Invoice with a DB connection, images and multiple pages and it takes about 3/4 seconds to process. I suggest that you use a worker to generate the reports in the background.

JetBrains for the PhpStorm and all great tools.

Open a new Issue or look for a closed issue

Источник

Конструктор отчетов на php

KoolReport is an intuitive and flexible Open Source PHP Reporting Framework for faster and easier data report delivery. Download KoolReport Upgrade to Pro Version

Why KoolReport?

Containing highly data-focused functionalities, KoolReport save your time & effort in all data related tasks ranging from data retrieval to processing and visualization.

Various datasources

Powerful data processing

Stunning data visualization

Learn more about KoolReport and how to build your business intelligence center by examples View Examples

Designed to be simple, fast and extensible.

Simple & Easy

Light & Fast

Extensible

Building your excellent data reports

Thousands of corporate reports are being built with KoolReport. Get started on your own with our growing collections of examples or by exploring some of our favorites.

.

Sales By Country

.

Sales by Quarters

.

Boat tickets

.

Pivot Tables

Myriad of examples, detail documentation and the enthusiasm of our supporting team will guarantee the highest quality of your data report delivery. Get Started Now

Unlock your full potentials

Elevate your data reporting and dashboard skills with our professional-grade products.
Focus on what matters, let us handle the rest.

KoolReport Pro

.

With KoolReport Pro, you will take your reporting game to the next level. Equipped with over 20 commercial packages, KoolReport Pro extends your capability to the max: making advanced data analysis, pivot table, drilldown report, PDF export. That's endless! Say goodbye to the struggles of creating reports and hello to impressing your clients with beautiful, insightful reports that they'll love. Learn more View demo

Dashboard Framework

.

Built on top of KoolReport Pro, the Dashboard Framework is a set of ready-made features designed to make it easy for developers to create online dashboard applications or admin panels for websites. With just a few lines of code, developers can create a modern, single-page dashboard that includes full set of data visualization, built-in authentication, support of multi themes and languages and so much more. Learn more View demo

What people are saying about our products and services

"KoolReport helps me very much in creating data report for my corporate! Keep up your good work!" Alain Melsens

"The first use of your product. I was impressed by its easiness and powerfulness. This product is a great product and amazing." Dr. Lew Choy Onn

Blogs

.

KoolReport Releases Q1-2023

.

Dashboard vs Admin Panel

.

5 Reasons You Should Use KoolReport

.

Why's so hassle to create KPI dashboard?

Designed and built with by KoolPHP Inc.

Источник

Оцените статью