基于wkhtmltopdf的另一个HTML转PDF转换器

2.2.0 2016-11-25 14:18 UTC

This package is auto-updated.

Last update: 2024-09-08 21:15:57 UTC


README

这是一个为PHP编写的HTML转PDF转换器。此包使用wkhtmltopdf作为第三方工具,因此您需要在php配置中启用proc_*()函数,并且需要在您的机器上安装wkhtmltopdf工具(您可以从这里下载)。

安装

将以下内容添加到您的composer.json文件中

{
    "require": {
        "cangelis/pdf": "2.2.*"
    }
}

然后运行composer.phar update

一些示例

$pdf = new CanGelis\PDF\PDF('/usr/bin/wkhtmltopdf');

echo $pdf->loadHTML('<b>Hello World</b>')->get();

echo $pdf->loadURL('http://www.laravel.com')->grayscale()->pageSize('A3')->orientation('Landscape')->get();

echo $pdf->loadHTMLFile('/home/can/index.html')->lowquality()->pageSize('A2')->get();

## 保存输出

php-pdf使用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 echo to the screen
echo $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'))
        ->get();

请参阅League\Flysystem文档中的所有可用适配器。

文档

您可以在完整的文档文件中查看所有可用方法。

贡献

请随意贡献!