如何将snappy库与codeigniter一起使用。
-
我已经安装了它,并将它放在我的库文件夹中。像
require_one目录名(FILE(。'/snappy/vvendor/autoload.php’;使用Knp\Snappy\Pdf;
class wkhtmltopdf extends Pdf { function __construct() { parent::__construct(); } }
2(然后在控制器中,我通过函数__construct((加载它
$this->load->library('wkhtmltopdf');
在我的一个控制器中,我设置了类似的二进制
$snappy=新的wkhtmltopdf("C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"(;
并尝试4(
echo $snappy->getOutput(array('http://www.google.com.pk'));
但是下面的错误来了。
但它抛出了一个错误。类型:LogicException
消息:在转换之前,您必须定义一个二进制文件。
文件名:C:\examplep\htdocs\reporting new icn巨大更改\application\libraries\snappy\vendor\knplabs\knp-snappy\src\knp\snappy\AbstractGenerator.php
任何通过任何方法在codeignter中实现了wkhtmltopdf的人都会非常有帮助。
使用Composer下载库后。
$ composer require knplabs/knp-snappy
将其添加到Library文件夹中,并给出自动加载的路径。php
require_once dirname(__FILE__)."application/libraries/snappy/vendor/autoload.php";
调整上述路径和控制器类之外
use KnpSnappyPdf; # at the top of the controller
这是二进制文件的路径,在Linux服务器中,可以在github.com/KnpLabs/snappy的帮助下对其进行调整
#&内部控制器功能
{
$snappy = new Pdf(""C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"");
header('Content-Type: application/pdf');
echo $snappy->setOption('page-width', '188mm');
echo $snappy->setOption('page-height', '100mm');
# these options are Optional there are a lot of other options.
#Can check more options Here https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
echo $snappy->getOutput($url);
#OR in case of you want the HTML to put directly open in the Browser.
echo $snappy->getOutputFromHtml($html);
#OR
echo $snappy->generateFromHtml('<p>Some content</p>', 'test.pdf');
# this test.pdf will be saved in hte Codeigniter directory
}
要想直接出柜,请看这个问题。在此处输入图像描述
<img src= "https://i.stack.imgur.com/haagb.png">
https://wkhtmltopdf.org/downloads.htmlwindows中的Exe文件和该页面上给出的Linux、Amazon等所需的相同类型的可执行文件
还需要这个库,它是用于设置设置、输出和其他内容的包装器。https://github.com/KnpLabs/snappy>可以使用供应商文件夹中的git命令安装