andrzej1_1 / yii2-mpdf
这是一个用于生成从UTF-8编码HTML生成的PDF文件的mPDF库的Yii2包装组件。
Requires
- mpdf/mpdf: ~8.0
This package is not auto-updated.
Last update: 2024-09-20 17:27:46 UTC
README
</a>
<br>
yii2-mpdf
<hr>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DTP3NZQ6G2AYU"
title="Donate via Paypal" target="_blank">
<img src="http://kartik-v.github.io/bootstrap-fileinput-samples/samples/donate.png" alt="Donate"/>
</a>
</a>
<br>
yii2-mpdf
<hr>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DTP3NZQ6G2AYU"
title="Donate via Paypal" target="_blank">
<img src="http://kartik-v.github.io/bootstrap-fileinput-samples/samples/donate.png" alt="Donate"/>
</a>
yii2-mpdf 扩展是mPDF库的一个增强型的Yii2包装组件,该库可以从UTF-8编码的HTML生成PDF文件。这个库基于FPDF和HTML2FPDF,并增加了一些功能。库的关键特性是可以动态地从HTML内容生成PDF文件,处理不同语言。请参考文档手册或上游mpdf网站以获取更多详细信息和理解库。yii2-mpdf扩展提供了在您的Yii应用程序中轻松集成和使用mPDF库的方法,并增加了细微的增强。此版本提供的主要功能包括
- 在您的yii应用程序配置中全局设置
pdf
组件。 - 使用简单的数组配置轻松设置mPDF属性或调用mPDF方法。
- 增强了扩展,可以设置自定义CSS文件以渲染格式化的HTML内容。
- 扩展内置了bootstrap.css(v3.3.0,为mPDF修改)的版本,默认应用。这将使您能够轻松地从bootstrap标记HTML生成PDF内容。
- 提供了在您的CSS文件中附加内联CSS的简单方法。
- 提供了易于使用的面向对象的方法来渲染复杂的PDF。
- 通过使用具有最小配置的render方法,像使用任何Yii小部件一样使用扩展。
- 此扩展使用mPDF库的最新开发版本(v6.0beta)。它使用packagist上的composer存储库
kartik-v/mpdf
作为此最新版本的源。mPDF 6.0可以利用OpenType布局表来显示复杂的脚本。此版本(v6.0)包含字体(开源),几乎涵盖了所有可想象的脚本/语言。包括对阿拉伯语或印度语脚本(以及高棉语、老挝语、缅甸语等)的支持。它还预计将改善泰语、越南语和希伯来语的显示。它还包括中文、日语和韩语的其他字体。 - 内置与yii2-grid扩展的集成,允许您将网格导出为PDF,甚至生成高级PDF报告。
演示
阅读扩展的详细文档和用法。
安装
安装此扩展的首选方式是通过composer。
注意:检查此扩展的composer.json以获取此扩展的要求和依赖关系。阅读有关为应用程序的composer.json设置
minimum-stability
设置的网络提示/维基。
运行以下命令:
$ php composer.phar require kartik-v/yii2-mpdf "dev-master"
或将以下内容添加到您的composer.json
文件的require
部分:
"kartik-v/yii2-mpdf": "dev-master"
用法
类似小部件的用法
该组件可以像任何小部件一样直接使用,以类似于PDF的方式渲染您的HTML内容。例如,您可以在控制器操作中简单调用该组件,如下所示:
use kartik\mpdf\Pdf;
public function actionReport() {
// get your HTML raw content without any layouts or scripts
$content = $this->renderPartial('_reportView');
// setup kartik\mpdf\Pdf component
$pdf = new Pdf([
// set to use core fonts only
'mode' => Pdf::MODE_CORE,
// A4 paper format
'format' => Pdf::FORMAT_A4,
// portrait orientation
'orientation' => Pdf::ORIENT_PORTRAIT,
// stream to browser inline
'destination' => Pdf::DEST_BROWSER,
// your html content input
'content' => $content,
// format content from your own css file if needed or use the
// enhanced bootstrap css built by Krajee for mPDF formatting
'cssFile' => '@vendor/kartik-v/yii2-mpdf/src/assets/kv-mpdf-bootstrap.min.css',
// any css to be embedded if required
'cssInline' => '.kv-heading-1{font-size:18px}',
// set mPDF properties on the fly
'options' => ['title' => 'Krajee Report Title'],
// call mPDF methods on the fly
'methods' => [
'SetHeader'=>['Krajee Report Header'],
'SetFooter'=>['{PAGENO}'],
]
]);
// return the pdf output as per the destination setting
return $pdf->render();
}
全局组件
您还可以将小部件设置为全局组件,以便在应用程序中跨应用使用,预设默认值。例如,在Yii应用程序配置文件的组件部分设置以下内容:
use kartik\mpdf\Pdf;
// ...
'components' => [
// setup Krajee Pdf component
'pdf' => [
'class' => Pdf::classname(),
'format' => Pdf::FORMAT_A4,
'orientation' => Pdf::ORIENT_PORTRAIT,
'destination' => Pdf::DEST_BROWSER,
// refer settings section for all configuration options
]
]
一旦设置好组件,您就可以轻松地在应用程序中引用它
$pdf = Yii::$app->pdf;
$pdf->content = $htmlContent;
return $pdf->render();
有关其他用法和详细信息,请参阅详细的文档。
贡献者
代码贡献者
该项目之所以存在,要归功于所有贡献者。[贡献]。[]
财务贡献者
成为财务贡献者,帮助我们维持社区。[贡献]
个人
组织
使用您的组织支持此项目。您的徽标将在此处显示,并提供到您网站的链接。[贡献]
许可协议
yii2-mpdf采用BSD-3-Clause许可协议发布。有关详细信息,请参阅捆绑的LICENSE.md
文件。