A PHP report generator

Overview

PHPJasper logo

PHPJasper

A PHP Report Generator

Build Status Coverage Status Latest Stable Version Minimum PHP Version Total Downloads License PHPStan All Contributors

Docs

Language-pt_BR

About

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

Our channel on discord

https://discord.gg/7FpDnQ

Notes:

  • 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

Why 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.

What can I do with this?

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:

  • Invoices
  • Reports
  • Listings

Requirements

  • PHP 7.2 or above
  • Java JDK 1.8

Optional

Installation

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"
    }
}

And the just run:

composer install

and thats it.


PHPJasper with Docker

With Docker CE and docker-compose installed just run:

  • docker-compose up -d
  • docker exec -it phpjasper composer install

To execute tests:

  • 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 :)


Examples

The Hello World example.

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.

Compiling

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.

Processing

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

Listing Parameters

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 . '<pre>';

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();

Note 2:

For a complete list of locales see Supported Locales

Using MSSQL DataBase

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();

Reports from a XML

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();

Reports from a JSON

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();

Performance

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.

Thanks

Cenote GmbH for the JasperStarter tool.

JetBrains for the PhpStorm and all great tools.

Questions?

Open a new Issue or look for a closed issue

License

MIT

Contribute

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Daniel Rodrigues

πŸš‡ 🚧 πŸ’»

Leandro Bitencourt

πŸ’»

Vitor Mattos

πŸ’»

Rafael Queiroz

πŸ’»

Dave Bould

πŸ’»

ThiagoAlves31

πŸ’»

Jadson Ribeiro

πŸ’»

Fernando Boaglio

πŸ’»

Rahul Jain

πŸ’»

Luiz Eduardo

πŸ’»

David Ribeiro

πŸ’»

James Allen

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Comments
  • Your report has an error and couldn't be processed! Try to output the command using the function `output();` and run it manually in the console.

    Your report has an error and couldn't be processed! Try to output the command using the function `output();` and run it manually in the console.

    I am trying to make the report to work but for some reason I can't get it done,

    • I install Jasperstarter and set up the environment variable.
    • I'm using the example of hello_world.jrxml
    • I'm using laravel 5.3 project.

    my code:

    use JasperPHP\JasperPHP;
    public function partida_provisiones_get_data(Request $request)
    {
         $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jrxml';
         $jasper = new JasperPHP;
         $jasper = \JasperPHP::compile($input)->execute();
    }
    

    But for some reason I'm getting this error: screenshot 174

    Can you tell me if there is any missing step.

    opened by erick-chali 35
  • phpjasper da erro com o postgres e parametro

    phpjasper da erro com o postgres e parametro

    Ao usar a bibliotca phpjasper no hello world foi com sucesso, mais ao tentar com conexΓ£o no banco e parametro dΓ‘ este erro abaixo, estou utilizando o xampp e o postgres:

    Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in C:\xampp\htdocs\relatorio\vendor\geekcom\phpjasper\src\PHPJasper.php:221 Stack trace: #0 C:\xampp\htdocs\relatorio\venda.php(29): PHPJasper\PHPJasper->execute() #1 {main} thrown in C:\xampp\htdocs\relatorio\vendor\geekcom\phpjasper\src\PHPJasper.php on line 221

    Meu Arquivo .php que chama a bilioteca estΓ‘ assim:

    <?php
    
    require __DIR__ . '/vendor/autoload.php';
    
    use PHPJasper\PHPJasper;    
    
    $input = '/vendor/geekcom/phpjasper/examples/venda.jasper';   
    $output = '/vendor/geekcom/phpjasper/examples';
    $options = [
        'format' => ['pdf'],
        'locale' => 'pt_BR',
        'params' => [5],
        'db_connection' => [
            'driver' => 'postgres',
            'username' => 'postgres',
            'password' => 'honeypot',
            'host' => 'localhost',
            'database' => 'nathusa',
            'port' => '5432'
        ]
    ];
    
    $jasper = new PHPJasper;
    
    $jasper->process(
            $input,
            $output,
            $options
    )->output();
    	
    	
    	
    	
    ?>
    
    
    opened by Danillosdd 27
  • Collection and Array parameter

    Collection and Array parameter

    I'm trying to pass as a given parameter of type array and my parameter is an ArrayList, also tried as collectible. In CMD always says: Parameter of type "java.util.Collection" with value x is not supported. I tried several possible ways. Can anyone help me?


    Eu estou tentando passar como um determinado parΓ’metro, meu parΓ’metro Γ© um ArrayList , tambΓ©m tentei como Collection. Em CMD sempre diz : ParΓ’metro do tipo " java.util.Collection " com o valor x nΓ£o Γ© suportado. Eu tentei vΓ‘rias maneiras possΓ­veis . AlguΓ©m pode me ajudar?

    opened by LMoota 24
  • Support to Collections

    Support to Collections

    I don't know if is lack of my knowledge, but i can't discover how to pass parameters that in my report are of the Collection type. Do your library support it?

    help wanted 
    opened by flavioribeirojr 22
  • Exception in thread

    Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')

    Hi all,

    Tried the run the example but unsuccessful. PHP reported "Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console." i output the command jasperstarter process "C:\wwwroot\phpjasper\vendor\geekcom\phpjasper\examples\hello_world.jasper" -o "C:\wwwroot\phpjasper\vendor\geekcom\phpjasper\examples" -f pdf rtf and ran in console and got Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap') at de.cenote.tools.classpath.ApplicationClasspath.add(ApplicationClasspath.java:75) at de.cenote.tools.classpath.ApplicationClasspath.add(ApplicationClasspath.java:65) at de.cenote.tools.classpath.ApplicationClasspath.addJars(ApplicationClasspath.java:134) at de.cenote.tools.classpath.ApplicationClasspath.addJarsRelative(ApplicationClasspath.java:151) at de.cenote.jasperstarter.App.processReport(App.java:178) at de.cenote.jasperstarter.App.main(App.java:109) my java version as following java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

    Please advice. Thank you

    opened by wongdh 12
  • conexΓ£o banco mysql

    conexΓ£o banco mysql

    Boa tarde, fiz todos os procedimentos de instalação e esta rodando tudo ok, porém ao utilizar o exemplo com conexão ao banco de dados esta apresentando erros de syntaxe no PHP, poderia passar um exemplo de conexão com banco MySql?

    opened by lopemede 12
  • erro ao gerar o relatΓ³rio

    erro ao gerar o relatΓ³rio

    Ao chamar o arquivo relatorio.php?parametro=48 para gerar o pdf retornar no browser, o erro:

    Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in /opt/NetMake/v9-php73/wwwroot/scriptcase/app/viniciuscontabilidade/relatorio/vendor/geekcom/phpjasper/src/PHPJasper.php:221 Stack trace: #0 /opt/NetMake/v9-php73/wwwroot/scriptcase/app/viniciuscontabilidade/relatorio/relatorio.php(63): PHPJasper\PHPJasper->execute() #1 {main} thrown in /opt/NetMake/v9-php73/wwwroot/scriptcase/app/viniciuscontabilidade/relatorio/vendor/geekcom/phpjasper/src/PHPJasper.php on line 221

    opened by Danillosdd 10
  • Your report has an error and couldn 't be processed!

    Your report has an error and couldn 't be processed!

    Estou começando a estudar o phpjasper, fiz os testes conforme as instruçáes, estava dando tudo certo, mas quando comecei testar a conexão com meu banco de dados (mysql) tive um problema que ainda não consegui resolver e passou a dar o seguinte erro:

    "Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in C:\xampp\htdocs\jasper\vendor\geekcom\phpjasper\src\PHPJasper.php:219 Stack trace: #0 C:\xampp\htdocs\jasper\teste2.php(30): PHPJasper\PHPJasper->execute() #1 {main} thrown in C:\xampp\htdocs\jasper\vendor\geekcom\phpjasper\src\PHPJasper.php on line 219"

    meu cΓ³digo : ``

    `<?php require DIR . '/vendor/autoload.php';

    use PHPJasper\PHPJasper;

    $input = DIR . '/vendor/geekcom/phpjasper/examples/convenio.jasper';
    $output = DIR . '/vendor/geekcom/phpjasper/examples';

    $options = [ 'format' => ['pdf'], 'locale' => 'pt_BR', 'params' => [], 'db_connection' => [ 'driver' => 'mysql', 'username' => 'root', 'password' => '', 'host' => 'localhost', 'database' => 'labordb', 'port' => '3306' ] ];

    $jasper = new PHPJasper;

    $jasper->process($input,$output,$options)->execute(); `

    Mudei a linha para:

    echo $jasper->process($input,$output,$options)->output();

    apareceu a seguinte mensagem:

    jasperstarter --locale pt_BR process "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples/convenio.jasper" -o "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples" -f pdf -t mysql -u root -p -H localhost -n labordb --db-port 3306

    opened by PauloCSto 10
  • Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable:

    Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable:

    That such friend could help me with this error by wanting to generate the pdf, the error I get is this: Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in C:\xampp\htdocs\JasperPHP\vendor\geekcom\phpjasper\src\PHPJasper.php:219 Stack trace: #0 C:\xampp\htdocs\JasperPHP\prueba.php(28): PHPJasper\PHPJasper->execute() #1 {main} thrown in C:\xampp\htdocs\JasperPHP\vendor\geekcom\phpjasper\src\PHPJasper.php on line 219

    opened by said-omar 9
  • RelatΓ³rio retorna null

    RelatΓ³rio retorna null

    Boa noite, estou usando o o relatório com um parÒmetro para a impressão de uma ordem de serviço, na preview do JasperStudio executou perfeitamente, porém quando executei no meu projeto os campos retornaram null, como na imagem erro

    no meu ReportController estΓ‘ assim:

    class ReportController extends Controller
    {
        public function getDatabaseConfig()
        {
            return [
                'driver'   => env('DB_CONNECTION'),
                'host'     => env('DB_HOST'),
                'port'     => env('DB_PORT'),
                'database' => env('DB_DATABASE'),
                'username' => env('DB_USERNAME'),
                'password' => env('DB_PASSWORD'),
                'jdbc_dir' => base_path() . env('JDBC_DIR'),
            ];
        }
        public function index($id)
        {
            $output = public_path() . '/reports/' . time() . '_ordemServico';
    
            $report = new PHPJasper;
    
            $report->process(
                public_path() . '/reports/ordemServico.jrxml',
                $output,
                ['pdf'],
                ['id' => $id],
                $this->getDatabaseConfig()
            )->execute();
            $file = $output . '.pdf';
            $path = $file;
    
    
            if (!file_exists($file)) {
                abort(404);
            }
            $file = file_get_contents($file);
    
            unlink($path);
    
            return response($file, 200)
                ->header('Content-Type', 'application/pdf')
                ->header('Content-Disposition', 'inline; filename="ordemServico.pdf"');
    
        }
    }
    

    NΓ£o me retorna mais nenhum erro, apenas os campos em null, Γ© a primeira vez que estou usando os relatΓ³rios com parΓ’metro, imagino que seja um erro bem simples que esteja passando despercebido, mas nΓ£o tenho ideia de como resolve-lo, aguardo alguma ajuda. Obrigada.

    opened by eduardaOKnopf 9
  • jasperphp run in terminal but not in browser

    jasperphp run in terminal but not in browser

    I've created a test file and try to run but unfortunately it didn't work, here is the error message

    Fatal error: Uncaught JasperPHP\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in /var/www/html/vendor/geekcom/phpjasper/src/JasperPHP.php:198 Stack trace: #0 /var/www/html/test.php(14): JasperPHP\JasperPHP->execute() #1 {main} thrown in /var/www/html/vendor/geekcom/phpjasper/src/JasperPHP.php on line 198

    When I ran in terminal, it's OK, I've searched Internet and most answer is write permission problem, so I ran bash script as following

    sudo chmod 777 -R /var/www/html

    so I'm sure that the folder is writable but wonder why it was unable to run in browser.

    Please let me know how to solve.

    Thanks in advance

    opened by freebornforever 9
  • Error Memory

    Error Memory

    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (malloc) failed to allocate 263216 bytes for Chunk::new
    # Possible reasons:
    #   The system is out of physical RAM or swap space
    #   The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap
    # Possible solutions:
    #   Reduce memory load on the system
    #   Increase physical memory or swap space
    #   Check if swap backing store is full
    #   Decrease Java heap size (-Xmx/-Xms)
    #   Decrease number of Java threads
    #   Decrease Java thread stack sizes (-Xss)
    #   Set larger code cache with -XX:ReservedCodeCacheSize=
    #   JVM is running with Unscaled Compressed Oops mode in which the Java heap is
    #     placed in the first 4GB address space. The Java Heap base address is the
    #     maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress
    #     to set the Java Heap base and to place the Java Heap above 4GB virtual address.
    # This output file may be truncated or incomplete.
    #
    #  Out of Memory Error (allocation.cpp:389), pid=409, tid=0x00002b31fd918700
    #
    # JRE version: OpenJDK Runtime Environment (8.0_352-b08) (build 1.8.0_352-b08)
    # Java VM: OpenJDK 64-Bit Server VM (25.352-b08 mixed mode linux-amd64 compressed oops)
    # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
    
    opened by elvispdosreis 0
  • Hey how can we use  phpjasper without using composer

    Hey how can we use phpjasper without using composer

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by umrao22 0
  • Class

    Class "JasperPHP\JasperPHPServiceProvider" not found in Laravel Application

    Describe the bug In ProviderRepository.php line 208: Class "JasperPHP\JasperPHPServiceProvider" not found

    To Reproduce Steps to reproduce the behavior:

    1. composer require geekcom/phpjasper
    2. composer update
    3. Copy "JasperPHP\JasperPHPServiceProvider::class," in config/app.php
    4. run php artisan serve
    opened by EbenezerOyenuga 0
  • jasperstarter AMAZON RDS MYSQL

    jasperstarter AMAZON RDS MYSQL

    Preciso de ajuda, NΓ£o sei se passaram por isso com banco de dados mysql na amazon RDS. php apresenta erro de output. Peguei o comando gerada no output e consegui compilar pelo console linux, ou seja, no php nΓ£o funciona e jΓ‘ no linux sim. Isso sΓ³ acontece com o banco mysql da amazon.

    Alguem ai para ajudar.

    opened by valmeidavr 1
  • Using alternate version with upgraded JasperStarter

    Using alternate version with upgraded JasperStarter

    Hi, How do I install this dependency from your project? I need the new version of JasperStartwe, when I try to install by composer using this: image It generates an error informing me that the PHPJasper class does not exist. "message": "Class "PHPJasper\PHPJasper" not found"

    If install from compose require geekcom/phpjasper is it worked... more new version

    Originally posted by @yvescleuder in https://github.com/PHPJasper/phpjasper/issues/311#issuecomment-1156689045

    opened by Xint0-elab 1
Releases(3.3.1)
Owner
PHPJasper
PHPJasper is the best solution free software to generate reports with PHP
PHPJasper
Pdf and graphic files generator library written in php

Information Examples Sample documents are in the "examples" directory. "index.php" file is the web interface to browse examples, "cli.php" is a consol

Piotr Śliwa 335 Nov 26, 2022
Magento 2 Invoice PDF Generator - helps you to customize the pdf templates for Magento 2

Magento 2 Invoice PDF Generator - helps you to customize the pdf templates for Magento 2. If you have an enabled template and a default template for the store you need your template the system will print the pdf template.

EAdesign 64 Oct 18, 2021
HTML to PDF converter for PHP

Dompdf Dompdf is an HTML to PDF converter At its heart, dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is

null 9.3k Jan 1, 2023
PHP library generating PDF files from UTF-8 encoded HTML

mPDF is a PHP library which generates PDF files from UTF-8 encoded HTML. It is based on FPDF and HTML2FPDF (see CREDITS), with a number of enhancement

null 3.8k Jan 2, 2023
PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Wrapper for wkhtmltopdf/wkhtmltoimage

Snappy Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. It uses the excellent webkit-based wkhtmltopd

KNP Labs 4.1k Dec 30, 2022
Official clone of PHP library to generate PDF documents and barcodes

TCPDF PHP PDF Library Please consider supporting this project by making a donation via PayPal category Library author Nicola Asuni [email protected] co

Tecnick.com LTD 3.6k Jan 6, 2023
TCPDF - PHP PDF Library - https://tcpdf.org

tc-lib-pdf PHP PDF Library UNDER DEVELOPMENT (NOT READY) UPDATE: CURRENTLY ALL THE DEPENDENCY LIBRARIES ARE ALMOST COMPLETE BUT THE CORE LIBRARY STILL

Tecnick.com LTD 1.3k Dec 30, 2022
PdfParser, a standalone PHP library, provides various tools to extract data from a PDF file.

PdfParser Pdf Parser, a standalone PHP library, provides various tools to extract data from a PDF file. Website : https://www.pdfparser.org Test the A

Sebastien MALOT 1.9k Jan 2, 2023
A PHP tool that helps you write eBooks in markdown and convert to PDF.

Artwork by Eric L. Barnes and Caneco from Laravel News ❀️ . This PHP tool helps you write eBooks in markdown. Run ibis build and an eBook will be gene

Mohamed Said 1.6k Jan 2, 2023
Generate simple PDF invoices with PHP

InvoiScript Generate simple PDF invoices with PHP. Installation Run: composer require mzur/invoiscript Usage Example use Mzur\InvoiScript\Invoice; re

Martin Zurowietz 16 Aug 24, 2022
PHP library allowing PDF generation or snapshot from an URL or an HTML page. Wrapper for Kozea/WeasyPrint

PhpWeasyPrint PhpWeasyPrint is a PHP library allowing PDF generation from an URL or an HTML page. It's a wrapper for WeasyPrint, a smart solution help

Pontedilana 23 Oct 28, 2022
🐘 A PHP client for interacting with Gotenberg

Gotenberg PHP A PHP client for interacting with Gotenberg This package is a PHP client for Gotenberg, a developer-friendly API to interact with powerf

Gotenberg 92 Dec 11, 2022
FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF.

FPDI - Free PDF Document Importer ❗ This document refers to FPDI 2. Version 1 is deprecated and development is discontinued. ❗ FPDI is a collection of

Setasign 821 Jan 4, 2023
A slim PHP wrapper around wkhtmltopdf with an easy to use and clean OOP interface

PHP WkHtmlToPdf PHP WkHtmlToPdf provides a simple and clean interface to ease PDF and image creation with wkhtmltopdf. The wkhtmltopdf and - optionall

Michael HΓ€rtl 1.5k Dec 25, 2022
Official clone of PHP library to generate PDF documents and barcodes

TCPDF PHP PDF Library Please consider supporting this project by making a donation via PayPal category Library author Nicola Asuni [email protected] co

Tecnick.com LTD 3.6k Dec 26, 2022
PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page.

Snappy Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. It uses the excellent webkit-based wkhtmltopd

KNP Labs 4.1k Dec 30, 2022
PHP Wrapper for callas pdfToolbox

PHP Wrapper for callas pdfToolbox A PHP wrapper class for callas pdfToolbox. Installation This library is installed via Composer. To install, use comp

Alannah Kearney 0 Feb 5, 2022
Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.

The Bugsnag Notifier for Laravel gives you instant notification of errors and exceptions in your Laravel PHP applications. We support both Laravel and Lumen. Learn more about Laravel error reporting from Bugsnag.

Bugsnag 816 Dec 15, 2022
Bugsnag notifier for the Symfony PHP framework. Monitor and report errors in your Symfony apps.

Bugsnag exception reporter for Symfony The Bugsnag Notifier for Symfony gives you instant notification of errors and exceptions in your Symfony PHP ap

Bugsnag 43 Nov 22, 2022
PHP 7 Migration Assistant Report (MAR)

Introduction What is PHP 7 Migration Assistant Report(MAR)? PHP 7 MAR, or just "php7mar", is a command line utility to generate reports on existing PH

Alexia E. Smith 790 Dec 8, 2022