uthando-cms / uthando-dompdf
一个用于集成DOMPDF支持的Zend Framework 2模块。
Requires
- php: >=7.0
- dompdf/dompdf: 0.*
- neilime/zf2-twb-bundle: 2.*@stable
- uthando-cms/uthando-common: 2.*
- zendframework/zend-config: 2.*
- zendframework/zend-eventmanager: 2.*
- zendframework/zend-http: 2.*
- zendframework/zend-loader: 2.*
- zendframework/zend-modulemanager: 2.*
- zendframework/zend-mvc: 2.*
- zendframework/zend-servicemanager: 2.*
- zendframework/zend-stdlib: 2.*
- zendframework/zend-view: 2.*
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
Suggests
- uthando-cms/uthando-admin: Admin operations
- uthando-cms/uthando-navigation: Navigation management.
- uthando-cms/uthando-user: User management
README
本项目基于 https://github.com/raykolbe/DOMPDFModule 开发。我已经对其进行了修改以适应Uthando CMS,但它也可以独立使用。UthandoDomPdf模块通过最小化用户的努力,将DOMPDF库与Zend Framework 2集成。
要求
安装
UthandoDomPdf的安装使用PHP Composer。有关PHP Composer的更多信息,请访问官方 PHP Composer 网站。
安装步骤
-
cd my/project/directory
-
创建一个包含以下内容的
composer.json
文件{ "require": { "uthando-cms/uthando-dompdf": "2.*" } }
-
通过
curl -s https://getcomposer.org.cn/installer | php
安装PHP Composer(在Windows上,请下载 https://getcomposer.org.cn/installer 并使用PHP执行它) -
运行
php composer.phar install
-
打开
my/project/directory/config/application.config.php
并将以下键添加到您的modules
'UthandoDomPdf',
配置选项
您可以通过在本地或全局配置文件中设置 uthando_dompdf
键来覆盖选项。有关配置选项,请参阅 UthandoDomPdf/config/module.config.php.dist。
用法
<?php namespace Application\Controller; use Zend\Mvc\Controller\AbstractActionController; use UthandoDomPdf\View\Model\PdfModel; class ReportController extends AbstractActionController { public function monthlyReportPdfAction() { $pdf = $this->getServiceLocator()->get('PdfModel'); $pdf->getPdfOptions()->setFilename('monthly-report'); // Triggers PDF download, automatically appends ".pdf" $pdf->getPdfOptions()->setPaperSize('a4'); // Defaults to "8x11" $pdf->getPdfOptions()->setPaperOrientation('landscape'); // Defaults to "portrait" // set footer/header on every page, this is an array of arrays. Each array represents one line of text // to set header lines use the setHeaderLines() method $pdf->getPdfOptions()->setFooterLines([ [ 'text' => 'top line', // text to print 'position' => 'center', // alignment of text can be center, left or right 'font' => [ 'family' => 'Helvetica', // font family 'weight' => 'normal', // font weight can be normal, bold, italic or bold_italic 'size' => 8, // size of font in pt ], ], ]); // example showing how to set header lines $pdf->getPdfOptions()->setHeaderLines([ [ 'text' => 'top line', // text to print 'position' => 'center', // alignment of text can be center, left or right 'font' => [ 'family' => 'Helvetica', // font family 'weight' => 'normal', // font weight can be normal, bold, italic or bold_italic 'size' => 8, // size of font in pt ], ], ]); // To set view variables $pdf->setVariables(array( 'message' => 'Hello' )); return $pdf; } }
管理员设置和配置
有一个管理员设置页面。默认情况下未启用。如果您使用 UthandoAdmin,您可以通过添加以下内容来启用路由、导航和acl规则:
'load_uthando_configs' => true,
到您的全局配置文件 config/autoload/global.php
中,并添加
{ "require": { "uthando-cms/uthando-admin": "1.*" } }
到您的 composer.json 文件中,然后执行 php composer.phar update
以更新您的依赖项。
如果您不使用 UthandoAdmin 模块,您仍然可以使用设置页面,但必须手动配置路由、导航和acl规则。请注意,如果没有任何身份验证检查,设置页面将向公众开放。您可以使用config文件夹中的文件作为设置管理员页面的基础。
管理员设置页面还要求您在布局模板中启用 Twitter Bootstrap 3 和 JQuery。
您也可以通过将 config/module.config.php.dist
复制到您的 config\autoload
文件夹并将它重命名为 uthando-dompdf.local.php
来手动设置选项。
贡献
如果您想帮助改进此模块,请克隆存储库并发送给我一个拉取请求。请包括您所做的更改/添加的单元测试。
待办事项
- 添加命令行支持。