cangelis / l4pdf
另一个针对 Laravel4 的 HTML 转 PDF 转换器
2.0.0
2014-11-15 21:21 UTC
Requires
- php: >=5.3.0
- cangelis/pdf: 2.1.*
- illuminate/http: 4.x
- illuminate/view: 4.x
README
这是一个针对 Laravel 4 的另一个 HTML 转 PDF 转换器。此包使用 wkhtmltopdf 作为第三方工具,因此需要在您的 PHP 配置中启用 proc_*()
函数,并且需要在您的机器上安装 wkhtmltopdf
工具(您可以从 这里 下载)。
如果您不是 Laravel 用户,请查看 这里
安装
步骤 1
将此添加到您的 composer.json
{
"require": {
"cangelis/l4pdf": "2.0.*"
}
}
步骤 2
将此行添加到您的 app/config/app.php
中的 providers
数组
'CanGelis\L4pdf\ServiceProvider'
步骤 3
将此行添加到您的 app/config/app.php
中的 aliases
数组
'PDF' => 'CanGelis\L4pdf\PDFFacade'
步骤 4
运行此命令以发布此包的配置
php artisan config:publish cangelis/l4pdf
步骤 5
在 app/config/packages/cangelis/l4pdf/config.php
下配置您的 wkhtmltopdf
可执行路径
'executable' => '/usr/bin/wkhtmltopdf'
一些示例
PDF::loadView('pdf.invoice')->download('invoice.pdf');
PDF::loadURL('http://www.laravel.com')->grayscale()->pageSize('A3')->orientation('Landscape')->stream('laravel.pdf')
Route::get('/', function() {
return PDF::loadHTML('<strong>Hello World</strong>')->lowquality()->pageSize('A2')->download();
});
## 保存 PDF
l4pdf 使用 League\Flysystem 将文件保存到本地或远程文件系统。
用法
$pdfObject->save(string $filename, League\Flysystem\AdapterInterface $adapter, $overwrite)
filename
: 您要保存的文件的名称
adapter
: FlySystem 适配器
overwrite
: 如果设置为 true
且文件存在,则会覆盖该文件,否则将抛出异常。
示例
// Save the pdf to the local file system
PDF::loadHTML('<b>Hello World</b>')
->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'));
// Save to AWS S3
$client = S3Client::factory([
'key' => '[your key]',
'secret' => '[your secret]',
]);
PDF::loadHTML('<b>Hello World</b>')
->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'));
// Save to FTP
$ftpConf = [
'host' => 'ftp.example.com',
'username' => 'username',
'password' => 'password',
/** optional config settings */
'port' => 21,
'root' => '/path/to/root',
'passive' => true,
'ssl' => true,
'timeout' => 30,
];
PDF::loadHTML('<b>Hello World</b>')
->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf));
// Save to the multiple locations and stream it
return PDF::loadHTML('<b>Hello World</b>')
->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf))
->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'))
->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'))
->download();
请参阅 League\Flysystem 的文档中的所有可用适配器
文档
您可以在完整的 文档 文件中查看所有可用方法
贡献
欢迎贡献!