lcp0578 / php-unoconv
Unoconv PHP, an Object Oriented library for easy file conversion with LibreOffice's unoconv
Requires
- php: ~7.0
- alchemy/binary-driver: ~4.1|~5.0
Requires (Dev)
- phpunit/phpunit: ~6.0
- silex/silex: ~2.0
This package is auto-updated.
Last update: 2024-11-11 20:56:54 UTC
README
An Object Oriented library which allow easy to use file conversion with Unoconv.
Install
The recommended way to install PHP-Unoconv is through composer.
{ "require": { "php-unoconv/php-unoconv": "~0.2" } }
Documentation
Documentation available at http://php-unoconv.readthedocs.org/
API Usage
To instantiate Unoconv driver, the easiest way is :
$unoconv = Unoconv\Unoconv::create();
You can customize your driver by passing a Psr\Log\LoggerInterface
or
configuration options.
Available options are :
timeout
: the timeout for the underlying process.unoconv.binaries
: the path (or an array of paths) for a custom binary.
$unoconv = Unoconv\Unoconv::create(array( 'timeout' => 42, 'unoconv.binaries' => '/opt/local/unoconv/bin/unoconv', ), $logger);
To transcode a file, use the transcode
method. For the complete format list
supported by unoconv, refer to the unoconv CLI.
$unoconv->transcode('document.docx', 'pdf', 'document.pdf');
You can optionaly transcode a given page range using the fourth argument :
// pages 1 to 14 $unoconv->transcode('document.docx', 'pdf', 'document.pdf', '1-14');
Silex Service Provider
A Silex Service Provider is available, all parameters are optionals :
$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 }), ));
License
Released under the MIT license