thinreports-php / thinreports-php
An implementation of Thinreports Generator in PHP. It provides easy and simple way for generating a PDF on pure PHP
Installs: 17 966
Dependents: 0
Suggesters: 0
Security: 0
Stars: 54
Watchers: 18
Forks: 19
Open Issues: 2
Requires
- php: >=5.3.0
- tecnickcom/tcpdf: ~6.2
Requires (Dev)
- phpunit/phpunit: ~4.6
- smalot/pdfparser: ~0.9
- symfony/yaml: ~2.7
This package is not auto-updated.
Last update: 2024-04-13 15:23:11 UTC
README
Currently, New layout format generated by Thinreports Editor 0.9+ is not supported. You can use Thinreports Editor 0.8 to refer to How to install old version. The support project is in progress.
About
Thinreports Generator for PHP is an implementation of the Thinreports Generator in PHP. It provides easy and simple way for generating a PDF on pure PHP.
What is Thinreports
Thinreports is an open source report generation tools. It provides the Thinreports Editor which is a tool for designing a report format, and the Thinreports Generator for Ruby which is a library for generating a PDF.
Please see the following pages for further details.
Getting Started
Supported PHP versions
- PHP 5.3, 5.4, 5.5, 5.6, 7
- See build result on TravisCI
Compatibility with Thinreports
- Thinreports Editor >= 0.8 and < 0.9
Quick Start
Step1 Install Thinreports Editor
See the Official Installation Guide.
Step2 Install Thinreports Generator for PHP
$ composer require thinreports-php/thinreports-php
Step3 Create a report format file using the Editor
Follow "Step1 Creating the layout for the report" section in the official doucmentation.
Step4 Write code for generating a PDF
<?php // date_default_timezone_set('Asia/Tokyo'); $report = new Thinreports\Report('hello_world.tlf'); // 1st page $page = $report->addPage(); $page->item('world')->setValue('World'); $page->item('thinreports')->setValue('Thinreports'); // 2nd page $page = $report->addPage(); $page('world')->setValue('PHP'); $page('thinreports')->setValue('Thinreports PHP'); // 3rd page $page = $report->addPage(); $page('world')->setValue('World') ->setStyle('color', '#ff0000'); $page('hello')->hide(); // 4th page $page = $report->addPage(); $page->setItemValue('thinreports', 'PDF'); $page->setItemValues(array( 'world' => 'PHP' )); // 5th page $page = $report->addPage(); $page->item('world_image')->setSource('/path/to/world.png'); // 6th page: Using other .tlf file $page = $report->addPage('hello_php.tlf') $page->item('world')->setValue('php'); // 7th page: Insert a blank page $report->addBlankPage(); $report->generate('hello_world.pdf'); // You can get content of the PDF in the following code: $pdf_data = $report->generate();
NOTE: If you want to render multi-byte characters such as "日本語", you need to configure the IPAFont to font-family property of the Text-block in the Editor.
Development Community
Features
Implemented
See Quick Start and Quick Reference for currently available features.
Not Implemented
- List
- Disabling Hyphenation
- Font Fallback
- Permission and Security settings of PDF
Other Tasks
- Memory Usage Optimization - Disposing raw base64-data after generating a image file
License
Thinreports PHP is licensed under the MIT-License. See LICENSE for further details.
Dependency Library & Resource
TCPDF
LGPLv3 / Copyright (c) Nicola Asuni Tecnick.com LTD
IPA Font
IPA Font License Agreement v1.0
Copyright
Copyright (c) 2015 Matsukei Co.,Ltd.