mrcnpdlk / unoconv-api
Unoconv API
0.7.1
2019-03-03 00:00 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- mikehaertl/php-shellcommand: ^1
- mrcnpdlk/lib-configuration: ^0
- mrcnpdlk/lib-exception: ^0
- myclabs/php-enum: ^1
- psr/log: ^1
Requires (Dev)
Suggests
- monolog/monolog: Allows more advanced logging of the application flow
README
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许可下发布