我从Laravel 4开始,我想使用TCPDF创建带有自定义页眉和页脚的文档,就像在example中一样。为此,我需要在某处扩展原始类,然后在服务提供者中使用扩展类。我还使用https://github.com/maxxscho/laravel-tcpdf作为TCPDF的服务提供者。
答案 0 :(得分:3)
TCPDF是我的laravel-tcpdf服务提供者的依赖项。这意味着它是从Laravel自动加载的。您可以创建自己的类,直接扩展TCPDF,然后覆盖header()和footer()方法。 例如,创建文件app / pdf / Pdf.php:
<?php namespace Pdf;
class Pdf extends \TCPDF {
//Page header
public function Header() {
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
要自动加载新文件"app/pdf"
composer.json
autoload
,然后从您的控制台运行classmap
。
现在创建PDF:
composer dump-autoload
我知道,这不是最好的解决方案,但应该有效。 我的软件包有点快,因为我需要在Laravel项目中使用TCPDF,所以我创建了这个小软件包。 我将优化我的包,以便您可以更轻松地覆盖函数。
现在,我希望,这会对你有帮助!