ictsolutions / codeigniter-dompdf
CodeIgniter 4 框架的 Dompdf。
Requires
- php: ^8.1
- dompdf/dompdf: 2.0.4
Requires (Dev)
- codeigniter4/devkit: ^1.0
- codeigniter4/framework: ^4.1
- qossmic/deptrac-shim: ^1.0
- rector/rector: 0.18.12
This package is auto-updated.
Last update: 2024-09-02 00:31:56 UTC
README
CodeIgniter Dompdf 库是一个包装器,它帮助在 CodeIgniter 框架中使用 Dompdf 库生成 PDF 文件。
Dompdf 库是一个流行的 PHP 库,允许您从 HTML 标记创建 PDF 文档。它将 HTML 和 CSS 转换为 PDF 格式,允许您根据您 Web 应用程序的数据动态生成 PDF 文件。
使用 CodeIgniter Dompdf 库,您可以通过传递 HTML 内容或视图到库的方法轻松生成 PDF 文件。库会处理 HTML 渲染、应用 CSS 样式并将其转换为可下载的 PDF 文件。
安装
安装通过 Composer 完成。
composer require ictsolutions/codeigniter-dompdf
配置
可以通过配置文件覆盖或增强库的默认行为。将 examples/Pdf.php
复制到 app/Config/Pdf.php
并按照注释中的说明操作。如果没有找到配置文件,库将使用其默认设置。在 Breadcrumb 类中,您可以设置以下配置选项
showWarnings
(布尔值,默认: false)
如果设置为 true
,将抛出异常以显示 dompdf 的警告。
convertEntities
(布尔值,默认: true)
如果设置为 true
,则使用 Dejavu Sans 字体。然而,这个字体没有 € 和 £ 等某些实体的符号。如果您需要正确显示这些字符,可以将此选项设置为 false
。
defaultMediaType
(字符串,默认: 'screen')
此选项指定了应渲染到 PDF 中的目标媒体视图。可能的值有
- screen
- tty
- tv
- projection
- handheld
- braille
- aural
- all
defaultPaperSize
(字符串,默认: 'a4')
此选项指定了 PDF 文档的默认纸张大小。它接受标准纸张大小,如 'letter'、'legal'、'A4' 等。
defaultPaperOrientation
(字符串,默认: 'portrait')
此选项指定了 PDF 文档的默认纸张方向。可能的值是 'portrait' 和 'landscape'。
defaultFont
(字符串,默认: 'serif')
此选项指定了在找不到合适字体时使用的默认字体族。字体必须存在于字体文件夹中。
fontHeightRatio
(整数,默认: 1)
此选项将比率应用于字体的高度,使其更接近浏览器的行高。
dpi
(整数,默认: 96)
此选项指定图像和字体的 DPI(每英寸点数)设置。这决定了 PDF 文档的默认渲染分辨率。
isPhpEnabled
(布尔值,默认: false)
如果设置为 true
,DOMPDF 将自动评估 <script type="text/php"> ... </script>
标签中包含的行内 PHP 代码。
注意:为不受信任的文档启用此选项可能存在安全风险。
isRemoteEnabled
(布尔值,默认: true)
如果设置为 true
,DOMPDF 将根据需要访问远程站点以获取图像和 CSS 文件。
注意:启用此选项可能存在安全风险,尤其是当与 isPhpEnabled
等其他选项结合使用时。
isJavascriptEnabled
(布尔值,默认: true)
如果设置为 true
,DOMPDF 将自动插入 <script type="text/javascript"> ... </script>
标签中包含的 JavaScript 代码。
用法
首先,我们需要加载 Pdf 库
$dompdf = new \IctSolutions\CodeIgniterDompdf\Pdf();
在创建 Dompdf 实例后,我们可以设置 PDF 属性
$dompdf->set_option('isRemoteEnabled', TRUE); $dompdf->setPaper('A4', 'landscape');
然后,我们用它来加载 Html 内容
$html = '<h1>Welcome to PDF Generator</h1>'; $dompdf->loadHtml($html);
我们可以渲染 Html 内容
$dompdf->render();
最后,我们可以流式传输输出
$dompdf->stream('welcome.pdf', array("Attachment"=>0)); // stream to client side
示例:使用Dompdf创建CodeIgniter项目
以下是包含Dompdf库在CodeIgniter中的通用指南步骤
- 通过Composer在您的项目中安装库
composer require ictsolutions/codeigniter-dompdf
- 当您需要创建PDF时,加载库
$dompdf = new \IctSolutions\CodeIgniterDompdf\Pdf();
- 使用库来创建PDF。以下示例展示了从视图创建PDF
$htmlContent = $this->load->view('pdf_view',$data,TRUE); $dompdf->loadHtml($htmlContent); $dompdf->render(); $dompdf->stream("welcome.pdf", array("Attachment"=>0));
在这个例子中,'pdf_view' 将是一个包含您的HTML结构的视图文件,而 $data 将是您想要传递给视图的任何数据。输出将以 welcome.pdf 的文件名流式传输到客户端。如果您将附件选项设置为1,客户端将下载PDF文件而不是在浏览器中显示。请根据您的实际项目和代码库修改和调整这些示例。
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。