neurosys/file-merger

此包的官方仓库似乎已丢失,因此该包已被冻结。

dev-master 2016-01-26 12:23 UTC

This package is not auto-updated.

Last update: 2019-06-27 13:40:58 UTC


README

File Merger是一个PHP5库,允许将多个文件合并成一个。目前它支持将PDF和图像合并为PDF。

特性

  • 将PDF和图像合并为PDF。

要求

  • pdftk命令行工具(用于PdfTkDriver)
  • fileinfo扩展(用于准确确定文件MIME类型)

使用Composer安装

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

{
    "require" :  {
        "neurosys/file-merger": "dev-master"
    }
}

安装PDFtk以使用默认的PdfTkDriver。您也可以创建自己的驱动。

使用方法

使用pdftk库将多个PDF文件合并成一个PDF

<?php
use NeuroSys\FileMerger\Merger;

$driver = new PdfTkDriver("/usr/local/bin/pdftk");
$merger = new Merger($driver);

$merger
    ->addFile('foo.pdf')
    ->addFile('baz.pdf')
    ->merge('output.pdf');

将多个PDF和图像文件合并成一个PDF

<?php
use NeuroSys\FileMerger\Merger;
use Knp\Snappy\Pdf;
use NeuroSys\FileMerger\Transformer\ImageTransformer;

$driver = new PdfTkDriver("/usr/local/bin/pdftk");
$merger = new Merger($driver);

$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
$merger->addTransformer(new ImageTransformer($snappy));

$merger
    ->addFile('foo.pdf')
    ->addFile('bar.jpg')
    ->addFile('baz.pdf')
    ->merge('output.pdf');

MergerFactory使用方法

<?php
use NeuroSys\FileMerger\Merger;
use NeuroSys\FileMerger\MergerFactory;
use Knp\Snappy\Pdf;
use NeuroSys\FileMerger\Transformer\ImageTransformer;


$factory = new MergerFactory();
$factory->addDriver(new PdfTkDriver("/usr/local/bin/pdftk"));

$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
$factory->addTransformer(new ImageTransformer($snappy));

$merger = $factory->create('pdf'); // creates a pdf merger

$merger
    ->addFiles(['foo.pdf', 'bar.jpg', 'baz.pdf'])
    ->merge('output.pdf');

忽略不支持的文件

默认情况下,如果需要合并不支持的文件,则会抛出异常。这可以通过设置omitUnsupported标志来更改。

<?php
$merger = $factory->create('pdf'); // creates a pdf merger

$merger
    ->omitUnsupported()
    ->addFiles(['foo.odt', 'bar.jpg', 'baz.pdf'])
    ->merge('output.pdf');

在示例中,foo.odt将不会包含在output.pdf中。您可以通过调用"supports"方法来检查合并器是否支持该文件。

$merger->supports('foo.odt'); // returns false

驱动程序

驱动程序用于将一个格式的多个文件合并为另一个相同格式的文件。

转换器

转换器用于将文件转换为驱动程序支持的格式。