acucchieri / tcpdf-bundle
tcpdf库与Symfony的集成
4.0.0
2024-03-21 10:27 UTC
Requires
- php: >=7.4
- symfony/framework-bundle: ~5.0
- tecnickcom/tcpdf: ^6.7
Requires (Dev)
- phpunit/phpunit: ^9.5
README
ACTcpdfBundle
将TCPDF PHP库与Symfony集成。这意味着在您的Symfony应用程序中实现和输出PDF文档变得简单。
安装
步骤 1:下载Bundle
打开命令行,进入您的项目目录,并执行以下命令以下载此Bundle的最新稳定版本
composer require acucchieri/tcpdf-bundle
此命令需要您全局安装了Composer,如Composer文档的安装章节中所述。
步骤 2:启用Bundle
然后,通过在项目的app/AppKernel.php文件中添加以下行来启用该Bundle
// app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // ... new AC\TcpdfBundle\ACTcpdfBundle(), ]; // ... } }
用法
使用AC\TcpdfBundle\Pdf\PdfBuider
创建您的PDF文档。此类扩展TCPDF,有关PDF生成的更多信息,请参阅TCPDF文档。
PDF输出
ACTcpdfBundle
提供了帮助器来服务您的PDF
在浏览器中显示PDF
返回一个带有Content-Disposition: inline
的响应
$myPdf->inline('my-pdf.doc');
下载PDF
返回一个带有Content-Disposition: attachment
的响应
$myPdf->download('my-pdf.doc');
以base64 mime多部分电子邮件附件的形式获取PDF(RFC 2045)
$myPdf->attachment('my-pdf.doc');
在文件系统中保存PDF
$myPdf->save('/path/to/my-pdf.doc');
以字符串形式输出PDF
$myPdf->toString();
MultiCell辅助器
AC\TcpdfBundle\Pdf\PdfBuilder::addMultiCellRow($cells, $sameHeight, $nobr)
允许您根据MultiCell
构建复杂表格。
$cells
是一个多维数组。每个单元格(数组)包含
- 数据(文本或HTML)
- 选项。可用的选项
height
单元格高度width
单元格宽度border
绘制单元格边框。允许值:0或1。默认值=0align
水平对齐。允许值:‘L’(左)、‘C’(居中)、‘R’(右)或‘J’(两端对齐)。默认值=‘T’valign
垂直对齐。允许值:‘T’(顶部)、‘M’(中间)或‘B’(底部)。默认值=‘T’fill
指示是否需要绘制单元格背景。true或false。默认值=falseis_html
指示数据是否为HTML。有关支持的标签,请参阅TCDPF文档。默认值=false
$sameHeight
如果设置为true
,则所有行单元格具有相同的高度。默认值=false。
$nobr
如果设置为true
,则行不会在两页之间中断。默认值=false。
示例
$data = [ ['foo' => 'AAA', 'bar' => 123, 'baz' => '<b>text<b>'], ['foo' => 'BBB', 'bar' => 456, 'baz' => '<a href="https://domain.td">link</a>'], ['foo' => 'CCC', 'bar' => 789, 'baz' => '<ul><li>line 1</li><li>line 2</li></ul>'], ]; foreach ($data as $row) { $pdf->addRowCell([ [$row['foo'], ['with' => 30]], [$row['bar'], ['width' => 40, 'align' => 'R']], [$row['baz'], ['width' => 50, 'is_html' => true]], ]); }
许可
此Bundle受MIT许可协议保护。有关完整的许可证,请参阅Bundle中的许可证。