mkebza / wk-pdf-bundle
为 symfony 服务的 wkhtmltopdf 简单封装
v0.4.0
2023-09-03 20:24 UTC
Requires
- php: ^7.1.3 || ^8.1
- symfony/config: ~3.4|~4.0|~5.0|~6.0
- symfony/dependency-injection: ~3.4|~4.0|~5.0|~6.0
- symfony/filesystem: ~3.4|~4.0|~5.0|~6.0
- symfony/http-foundation: ~3.4|~4.0|~5.0|~6.0
- symfony/process: ~3.4|~4.0|~5.0|~6.0
Requires (Dev)
- symfony/phpunit-bridge: ^4.1|~5.0|~6.0
README
使用 Symfony Flex 的应用程序
打开命令行控制台,进入您的项目目录并执行
$ composer require mkebza/wk-pdf-bundle
不使用 Symfony Flex 的应用程序
步骤 1: 下载 Bundle
打开命令行控制台,进入您的项目目录并执行以下命令以下载此 Bundle 的最新稳定版本
$ composer require mkebza/wk-pdf-bundle
此命令需要您全局安装了 Composer,如 Composer 文档中的安装章节中所述。
步骤 2: 启用 Bundle
然后,通过将其添加到项目 app/AppKernel.php 文件中注册的 Bundle 列表中来启用此 Bundle
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new MKebza\WkPDF\MKebzaWkPdfBundle(), ); // ... } // ... }
如何使用
从文件生成新的 PDF 文档并发送作为响应。控制器函数
public function myAction(PDFRenderer $pdf): Response { $html = $this->renderView('my template'); // or you can use fromFile(function) return $pdf->fromHtml($html, 'a4')->getResponse(); }
配置文件可以是配置文件名、选项数组(将创建新的匿名配置文件)、PDFRenderingProfile 对象或 null(默认配置文件)。
配置
m_kebza_wk_pdf: bin: /usr/local/bin/wkhtmltopdf # Path to your wkhtmltopdf bin, default tmp: /var/ # where temporary files are written, this is necessary to be writable directory default_profile: a4 # name of default profile profiles: # See profiles won
配置文件
存在两个预定义配置文件 a4、a4_borderless。您可以在配置中定义自己的。
m_kebza_wk_pdf: profiles: myprofile: - --lowquality - --dpi 96 - --margin-top 7mm - --margin-left 1mm - --margin-right 1mm - --margin-bottom 1mm - --page-size 'A4' - --encoding 'UTF-8'
参数不会进行解析或转义,它们将原样传递给 wkhtmltopdf 二进制文件。因此请小心。Wkhtmltopdf 文档。
如果您将配置文件命名为默认配置文件之一相同的名称,则您的配置文件将覆盖默认配置文件。