inspiredminds / contao-isotope-pdf-templates
在Contao Isotope中添加新的文档类型,您可以在其中定义PDF模板。
2.3.1
2024-09-10 15:23 UTC
Requires
- php: >=7.1
- contao/core-bundle: ^4.13
- isotope/isotope-core: ^2.5
- menatwork/contao-multicolumnwizard-bundle: ^3.4
- mpdf/mpdf: ^8.0
- symfony/config: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/event-dispatcher: ^5.4
- symfony/event-dispatcher-contracts: ^1.0 || ^2.0 || ^3.0
- symfony/filesystem: ^5.4
- symfony/finder: ^5.4
- symfony/http-kernel: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0 || ^3.0
README
Contao Isotope PDF Templates
在Contao Isotope中添加新的文档类型,您可以在其中定义PDF模板。
重要:本扩展的2.x版本使用mPDF而不是TCPDF。以下是一些需要注意的事项
- mPDF仅支持以下字体:https://mpdf.github.io/fonts-languages/fonts-in-mpdf-7-x.html。
- mPDF具有更优越的HTML和CSS功能。
- 建议在您的
iso_document_…
模板中使用完整的HTML标记。 - 默认情况下,mPDF使用的FPDI PDF-Parser仅支持PDF版本1.4以下的PDF文档,因此您可能需要事先将它们转换为这个版本。但是,您可以购买商业版本以便能够转换任何PDF。
自定义字体
从版本2.1.0
开始,您可以直接通过后端集成自定义字体。首先,您需要将TTF文件上传到/files
目录下的一个目录中。然后,您需要在文档的字体设置中选择该文件夹。选择正确的文件夹后,您需要保存设置,然后您将能够配置发现的字体文件。
对于您想要使用的每个字体,您需要启用它,并设置字体的小写变体和名称。
注意: mPDF将某些常见字体名称映射到其自己的默认字体。如果字体不起作用,请尝试设置一个更独特的字体名称。
事件
该扩展提供了一个ModifyPdfEvent
,您可以通过它访问mPDF
Isotope Document
实例,以便更改一些参数或添加额外的变量等。
// src/EventListener/ModifyPdfEventListener.php namespace App\EventListener; use InspiredMinds\ContaoIsotopePdfTemplatesBundle\Event\ModifyPdfEvent; use Symfony\Component\EventDispatcher\Attribute\AsEventListener; #[AsEventListener(ModifyPdfEvent::EVENT_NAME)] class ModifyPdfEventListener { public function __invoke(ModifyPdfEvent $event): void { // Access the mPDF object instance $mpdf = $event->getPdf(); // Access the Isotope Document instance $document = $event->getDocument(); } }