softplaceweb/laravel-10-pdf-merger

1.1.4 2023-10-11 19:24 UTC

This package is auto-updated.

Last update: 2024-09-11 21:53:36 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

这是一个简单的Laravel服务提供者,它包含了一些基本的配置,用于包含TCPDF库,以便您能够在Laravel应用程序中合并PDF文件。

兼容性从1.3版到1.7版,如果尝试合并大于1.4版的版本,将通过Ghostscript进行转换。

最终结果是合并后的PDF文件v 1.7

要求

  • PHP 8.0+
  • Ghostscript(Linux上的gs命令)

安装

可以通过在项目的composer.json中添加softplaceweb/laravel-10-pdf-merger包来使用composer安装Laravel PDF Merger服务提供者。

composer require softplaceweb/laravel-10-pdf-merger

对于lumen,您应该添加以下行

$app->register(Softplaceweb\PdfMerger\PdfMergerServiceProvider::class);
class_alias(Softplaceweb\PdfMerger\Facades\TCPDF::class, 'PDF');

这就完成了!您可以开始使用了。

下面是一个小例子

use Softplaceweb\PdfMerger\Facades\PdfMerger;

PdfMerger::addPDF('path/to/pdf1.pdf', 1)
->addPDF('path/to/pdf2.pdf', 'all')
->merge()
->save('new_file_name.pdf', 'browser');

或者发送PDF数组...

use Softplaceweb\PdfMerger\Facades\PdfMerger;

PdfMerger::addPDF([
    [
        'filePath' => 'path/to/pdf1.pdf',
        'pages'    => 1,
    ],
    [
        'filePath' => 'path/to/pdf2.pdf',
    ],
])
->merge()
->save('new_file_name.pdf', 'browser');

您可以为这个类扩展功能,有关所有可用函数的列表,请参阅TCPDF 文档

配置

Laravel Pdf Merger附带了一些基本配置。如果您想覆盖默认值,可以发布配置,如下所示

php artisan vendor:publish --provider="Softplaceweb\PdfMerger\PdfMergerServiceProvider"

现在访问config/pdf-merger.php进行自定义。

  • 使用原始头部是使用TCPDF的原始Header()
    • 请注意,PdfMerger::setHeaderCallback(function($pdf){})将覆盖此设置。
  • 使用原始底部是使用TCPDF的原始Footer()
    • 请注意,PdfMerger::setFooterCallback(function($pdf){})将覆盖此设置。

致谢