mein-sterntours/app/Libraries/CreatePDF.php
Kevin Adametz 881fc84207 08 2024
2024-08-05 11:58:09 +02:00

63 lines
1.5 KiB
PHP

<?php
namespace App\Libraries;
use App\Libraries\CouponPDF;
use App\Models\Coupon;
use Storage;
class CreatePDF{
protected $view;
protected $pdf;
protected $prepath;
protected $disk;
public function __construct($view, $disk = 'public')
{
$this->view = $view;
$this->disk = $disk;
$this->prepath = Storage::disk($disk)->getAdapter()->getPathPrefix();
}
public function create($data, $name='test.pdf', $output='stream', $path = false){
header('Content-type: text/html; charset=UTF-8') ;//chrome
//dd($data);
$pdf = app('dompdf.wrapper');
$pdf->getDomPDF()->set_option("enable_php", true);
$pdf->loadView($this->view, $data);
$pdf->setPaper('A4', 'portrait');
if($output === 'stream'){
//file???
return $pdf->stream($name);
}
if($output === 'download'){
//download
return $pdf->download($name);
}
if($output === 'save'){
if($path){
$pdf->save($path.$name);
return $path.$name;
}
}
}
public function merger($dir, $filename, $template){
$pdfMerger = new MyPDFMerger();
$pdfMerger->addPDF($this->prepath.$dir.$filename);
$file = $pdfMerger->myMerge('string', $filename, $template);
Storage::disk($this->disk)->put($dir.$filename, $file);
}
public function setPrePath($path){
$this->prepath = $path;
}
}
?>