rutorika / simplepdf
一个用于生成支持模板的简单PDF文档的包装器。它处于深度开发状态。
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-09-10 16:37:35 UTC
README
需求
- pdftk
在 Alpine 上安装 pdftk
apk add pdftk
在 Ubuntu 上安装 pdftk
sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk
安装包
composer require rutorika/simplepdf
用法
<?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();