neo3k/lara-pdf-merger

dev-main 2021-11-08 18:52 UTC

This package is auto-updated.

Last update: 2024-09-09 00:42:23 UTC


README

原包 deltaaskii/lara-pdf-merger 的替代品,支持在 PHP 7.4 下运行

原作者 http://pdfmerger.codeplex.com/team/view

感谢 https://github.com/DALTCORE/lara-pdf-merger 提供 PHP 7.4 支持

此包在 Laravel 8.61.0 上进行了测试

改进

  • 代码源重构
  • 启用 Facade 使用
  • 添加双面合并功能
  • 将保存操作与合并分离
  • 使用 TCPDI 命名空间

安装

  • 在 composer.json 中添加以下行以安装此包
composer require veraandco/lara-pdf-merger
  • 在终端中运行此命令
composer update

Laravel <5.5

更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组中

    Vera\LaraPdfMerger\PdfMergerServiceProvider::class,

您可以选择使用 facade 以缩短代码。将以下内容添加到您的 facade 中

    'PdfMerger' => Vera\LaraPdfMerger\Facades\PdfMerger::class,

用法

use Vera\LaraPdfMerger\Facades\PdfMerger;

//...

$pdfMerger = PDFMerger::init(); //Initialize the merger

$pdfMerger->addPDF('samplepdfs/one.pdf', '1, 3, 4');
$pdfMerger->addPDF('samplepdfs/two.pdf', '1-2');
$pdfMerger->addPDF('samplepdfs/three.pdf', 'all');

//You can optionally specify a different orientation for each PDF
$pdfMerger->addPDF('samplepdfs/one.pdf', '1, 3, 4', 'L');
$pdfMerger->addPDF('samplepdfs/two.pdf', '1-2', 'P');

$pdfMerger->merge(); //For a normal merge (No blank page added)

// OR..
$pdfMerger->duplexMerge(); //Merges your provided PDFs and adds blank pages between documents as needed to allow duplex printing

// optional parameter can be passed to the merge functions for orientation (P for protrait, L for Landscape). 
// This will be used for every PDF that doesn't have an orientation specified

$pdfMerger->save("file_path.pdf");

// OR...
$pdfMerger->save("file_name.pdf", "download");
// REPLACE 'download' WITH 'browser', 'download', 'string', or 'file' for output options

作者

致谢