Coder Social home page Coder Social logo

seikai / thinreports-php Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thinreports-php/thinreports-php

0.0 1.0 0.0 38.38 MB

An implementation of the Thinreports Generator in PHP. It provides easy and simple way for generating a PDF on pure PHP.

Home Page: https://thinreports-php.github.io

License: Other

PHP 100.00%

thinreports-php's Introduction

Thinreports Generator for PHP

Latest Stable Version Latest Unstable Version Build Status Code Climate


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

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

Gitter

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.

thinreports-php's People

Contributors

hidakatsuya avatar

Watchers

SMV/k-seikai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.