Awesome
PHP Unoconv
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