<?php
namespace App\Classes;
use mikehaertl\pdftk\Pdf;
class GeneratePDF {
protected $source_filename;
protected $dest_folder;
public function __construct($source_filename=NULL, $dest_folder=NULL)
{
$this->source_filename = $source_filename;
$this->dest_folder = $dest_folder;
}
public function generate($filename, $data, $flatten=true)
{
try {
$root_folder = getcwd().'/..';
$data_folder = $root_folder.'/data';
//var_dump($filename, $data);
$source_filename = $data_folder.'/'.$this->source_filename;
//var_dump($source_filename);
$pdf = new Pdf($source_filename);
$pdf->fillForm($data);
//var_dump($data);
$pdf->needAppearances();
if ($flatten)
$pdf->flatten();
$save_filename = $data_folder.'/'.$this->dest_folder.'/'.$filename;
$pdf->saveAs($save_filename);
//var_dump($save_filename);
//var_dump($pdf); die();
//return true;
}
catch(\Exception $e)
{
var_dump($e);
return $e->getMessage();
}
catch(\Throwable $e)
{
var_dump($e);
return $e->getMessage();
}
//var_dump($save_filename);
return true;
}
}