jmleroux/pdf-merger

PHP 7 的 PDF 文件合并工具

v2.0.0 2020-04-30 07:28 UTC

This package is auto-updated.

Last update: 2024-09-06 19:46:38 UTC


README

最初由 http://pdfmerger.codeplex.com/team/view 编写

https://github.com/clegginabox/pdf-merger 分支

安装

composer require jmleroux/pdf-merger

示例用法

<?php
use Jmleroux\PDFMerger\PDFMerger;

$pdf = new PDFMerger();

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

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

$pdf->merge('file', 'samplepdfs/TEST2.pdf', 'P');

PDF 库

您可以通过向构造函数提供正确的参数来使用 FPDF、TCPDF 或 tFPDF 作为内部 PDF 库

<?php
use Jmleroux\PDFMerger\PDFMerger;

$pdf = new PDFMerger(); // use FPDF
$pdf = new PDFMerger('fpdf'); // use FPDF

$pdf = new PDFMerger('tcpdf'); // use TCPDF

$pdf = new PDFMerger('tfpdf'); // use tFPDF

输出模式

此合并器使用详细参数名来表示三个库常见的各种 PDF 输出模式

  • browser(默认):将 PDF 二进制文件发送到浏览器。如果可用,将使用浏览器 PDF 插件。
  • download:将 PDF 发送到浏览器并强制以给定名称进行文件下载。
  • string:输出原始二进制字符串。
  • file:将文件保存到本地服务器上的给定名称的文件中。

开发

此仓库包含一个 docker-compose 文件,因此您无需本地 PHP 版本。

使用 make 命令安装和运行测试

要安装依赖项

make vendor

要运行测试

make tests

WTF?

是的,为什么进行分支?

我首先创建了一个 PR 来修复“切片功能”,但后来我意识到我需要一个带有测试和标签的库。此外,我想添加 docker-compose,因为我不再安装任何本地的 PHP,所以我决定分支并从 PHP 7 开始。