rutorika / simplepdf
A wrapper for generating simple PDF documents with template support. It is in a state of deep development.
0.1
2019-08-19 12:11 UTC
Requires
- mikehaertl/php-pdftk: ^0.6.0
- setasign/fpdi: ^2.2
- tecnick.com/tcpdf: ^6.2
- tecnickcom/tc-lib-pdf-font: ^1.8
Requires (Dev)
- phpunit/phpunit: ~6.3
This package is auto-updated.
Last update: 2024-12-10 17:14:16 UTC
README
Requirements:
- pdftk
Install pdftk on the Alpine
apk add pdftk
Install pdftk on the Ubuntu
sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk
Install package
composer require rutorika/simplepdf
Usage
<?php
use Rutorika\Simplepdf\Simplepdf;
use Rutorika\Simplepdf\SimplepdfBuilder;
$template = \resource_path('pdf/form.pdf');
$fontFile = \resource_path('pdf/font.ttf');
$fontSize = 20;
$fontColor = [255, 0, 0];
$lineHeight = 1.05;
$maxChars = 20;
$pdf = SimplepdfBuilder::page([
'unit' => 'mm',
'page_orientation' => 'P',
'page_format' => 'A4',
'page_template' => $template,
]);
$font = $pdf->addFontTtf($fontFile);
// Define default font, font size, font color and line height
$pdf->setDefaultFont($font)
->setDefaultFontSize($fontSize)
->setDefaultTextColor($fontColor)
->setDefaultLineHeight($lineHeight);
// Text block 1
$txt = "Текст, который будет выведен по 20 символов в строку";
$pdf->addTextBlock($txt, [
'left' => 14.3,
'top' => 10.5,
'line_chars' => $maxChars,
]);
// Text block 2
$txt = "Текст\nдля которого нужно оставить перенос";
$pdf->addTextBlock($txt, [
'left' => 14.3,
'top' => 57.5,
'line_chars' => $maxChars,
]);
// Barcode
$txt = "Данные для barcode";
$pdf->addBarcode2D($txt, [
'left' => 54.3,
'top' => 100.5,
'size' => 24.5,
'color' => [0, 0, 255], // Custom color barcode
]);
$pdf->result->browse();