mrcnpdlk/unoconv-api

0.7.1 2019-03-03 00:00 UTC

This package is auto-updated.

Last update: 2024-09-16 21:50:22 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads Monthly Downloads License

Scrutinizer Code Quality Build Status Code Coverage

Code Climate Issue Count

Build Status

Unoconv API

此API是针对unoconv二进制文件的面向对象PHP覆盖。

安装

安装unoconv和所需库

sudo apt-get install unoconv

使用composer安装最新版本

composer require mrcnpdlk/unoconv-api

基本用法

<?php
use Monolog\Handler\ErrorLogHandler;
use Psr\Log\LogLevel;

require __DIR__ . '/../vendor/autoload.php';

// Logger instance
$logger = new \Monolog\Logger('unoconv-api');
$logger->pushHandler(new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM, LogLevel::DEBUG));

// Set default value for handler
$oConfig = new \Mrcnpdlk\Api\Unoconv\Config([
    'binary' => '/usr/bin/unoconv',
    'logger' => $logger,
    'timeout'=> 300
]);
$oApi    = new \Mrcnpdlk\Api\Unoconv\Api($oConfig);

配置选项

更详细的文档可以在这里找到。

创建文档

$res     = $oApi->transcode($sourceFile, $format, $destination, $exportOpts);
var_dump($res);

参数 transcode 方法

示例

$oApi    = new \Mrcnpdlk\Api\Unoconv\Api($oConfig);

$from = __DIR__ . '/../devel/test.docx';
$res  = $oApi->transcode($from, null, __DIR__, [
    ExportType::PageRange              => '1-1', // page range (string)
    ExportType::Watermark              => 'FOO bar BAZ', // watermark text (string)
    ExportType::Printing               => 0, // printing permission (int)
    ExportType::RestrictPermissions    => true, // restrict permission (bool)
    ExportType::PermissionPassword     => 'password1',
    ExportType::EnableCopyingOfContent => false, // copy permission (bool)
    ExportType::Changes                => 0, // changes permission (int)
    ExportType::DocumentOpenPassword   => 'password2', // password to open file (string)
]);
var_dump($res);

Web服务

API支持用于生成简单PDF文件的Dockerized unoconv Web服务。

要启动容器,请写入docker-compose.yml,然后执行docker-compose up -d

version: "3.7"
services:
  app:
    image: zrrrzzt/docker-unoconv-webservice:10.14.0
    ports:
      - 3000:3000
    environment:
      - PAYLOAD_MAX_SIZE=5242880
    restart: unless-stopped
$res     = $oApi->wsGetPdf($sourceFile, $destination);
var_dump($res);

许可协议

在MIT许可下发布