shihjay2/fpdm

PDF form filling using FPDM Class written by FPDF author Olivier for Laravel 5

2.9.2 2018-06-20 21:14 UTC

This package is auto-updated.

Last update: 2024-10-18 18:26:15 UTC


README

The FPDM class allows to fill out PDF forms, i.e. populate fields of a PDF file. It is developed by Olivier Plathey, author of the FDPF Library, and has been released as Skript 93. Initial adaptation for Composer was from codeshell and this was adapted for Laravel 5.

I created this repository for the following reasons:

  • make the current FPDM source available via composer
  • fix compatibility issues with PHP 7.x
  • bugfixing

This repository only contains the separate php class written for form filling. If you are looking for a repository containing the main FPDF Library for Laravel 5, please head over to github.comcaioladislau/FPDF.

Once again, all credits to Olivier Plathey for providing an easy to use extension to his FPDF library!

Version

Based on version 2.9 (2017-05-11) available from fpdf.org/en/script/script93.php.

Note: If you find that a new version has been hosted on fpdf.org, please do not hesitate to drop me a short note to make sure I do not miss it out.

Installation

Enter:

composer require shihjay2/fpdf

Usage

At the top of your controller: use Shihjay2\Fpdm\FPDM;

and then: $pdf = new FPDM($output);

Original Info Page

Information

Author: Olivier

License: FPDF

Description

This script allows to merge data into a PDF form. Given a template PDF with text fields, it's possible to inject values in two different ways:

  • from a PHP array
  • from an FDF file

The resulting document is produced by the Output() method, which works the same as for FPDF.

Note: if your template PDF is not compatible with this script, you can process it with PDFtk this way:

pdftk modele.pdf output modele2.pdf

Then try again with modele2.pdf.

Example

This example shows how to merge data from an array:

<?php

/***************************
  Sample using a PHP array
****************************/

$fields = array(
    'name'    => 'My name',
    'address' => 'My address',
    'city'    => 'My city',
    'phone'   => 'My phone number'
);

$pdf = new FPDM('template.pdf');
$pdf->Load($fields, false); // second parameter: false if field values are in ISO-8859-1, true if UTF-8
$pdf->Merge();
$pdf->Output();
?>

View the result here.