ceefee/php-unoconv

Unoconv PHP,一个使用LibreOffice unoconv进行文件转换的面向对象库

4.1.0 2018-04-23 11:47 UTC

This package is auto-updated.

Last update: 2024-09-13 02:23:36 UTC


README

Build Status

一个面向对象的库,允许使用Unoconv轻松进行文件转换。

安装

安装PHP-Unoconv的推荐方式是通过composer

{
    "require": {
        "ceefee/php-unoconv": "~0.3.2"
    }
}

文档

文档可在http://php-unoconv.readthedocs.org/找到

API使用

实例化Unoconv驱动器,最简单的方式是

$unoconv = Unoconv\Unoconv::create();

您可以通过传递一个Psr\Log\LoggerInterface或配置选项来自定义您的驱动器。

可用选项包括

  • timeout:底层进程的超时时间。
  • unoconv.binaries:自定义二进制文件的路径(或路径数组)。
$unoconv = Unoconv\Unoconv::create(array(
    'timeout'          => 42,
    'unoconv.binaries' => '/opt/local/unoconv/bin/unoconv',
), $logger);

要转码文件,请使用transcode方法。有关unoconv支持的完整格式列表,请参阅unoconv CLI。

$unoconv->transcode('document.docx', 'pdf', 'document.pdf');

您可以使用第四个参数可选地转码指定的页面范围

// pages 1 to 14
$unoconv->transcode('document.docx', 'pdf', 'document.pdf', '1-14');

Silex服务提供者

有一个Silex服务提供者可用,所有参数都是可选的

$app = new Silex\Application();
$app->register(new Unoconv\UnoconvServiceProvider(), array(
    'unoconv.configuration' => array(
        'unoconv.binaries' => '/opt/local/unoconv/bin/unoconv',
        'timeout'          => 42,
    ),
    'unoconv.logger'  => $app->share(function () {
        return $app['monolog']; // use Monolog service provider
    }),
));

许可证

在MIT许可证下发布

Bitdeli Badge