codeinc / office2pdf-client
A PHP client for the office2pdf API
v1.4
2024-02-24 01:26 UTC
Requires
- php: >=8.3
- php-http/discovery: ^1.19
- php-http/multipart-stream-builder: ^1.3
- psr/http-client: ^1.0
Requires (Dev)
- php-http/guzzle7-adapter: ^1.0
- phpunit/phpunit: ^11
- spatie/ray: ^1.41
README
This repository contains a PHP 8.2+ library for converting Office files to PDF using the office2pdf service.
Installation
The recommended way to install the library is through Composer:
composer require codeinc/office2pdf-client
Usage
This client requires a running instance of the office2pdf service. The service can be run locally using Docker or deployed to a server.
Example:
use CodeInc\Office2PdfClient\Office2PdfClient; use CodeInc\Office2PdfClient\ConvertOptions; use CodeInc\Office2PdfClient\Format; $apiBaseUri = 'http://localhost:3000/'; $srcDocPath = '/path/to/local/file.docx'; $destPdfPath = '/path/to/local/file.pdf'; $convertOption = new ConvertOptions( firstPage: 2, lastPage: 3, format: Format::json ); try { $client = new Office2PdfClient($apiBaseUri); // convert $pdfStream = $client->convert( $client->createStreamFromFile($srcDocPath), $convertOption ); // save the PDF $client->saveStreamToFile($pdfStream, $destPdfPath); } catch (Exception $e) { // handle exception }
Validating the support of a file format:
use CodeInc\Office2PdfClient\Office2PdfClient; use CodeInc\Office2PdfClient\Exception; $filename = 'a-file.docx'; $client = new Office2PdfClient('http://localhost:3000/'); $client->isSupported("a-file.docx"); // returns true $client->isSupported("a-file"); // returns true $client->isSupported("a-file", false); // returns false (the second argument is the strict mode) $client->isSupported("a-file.pdf"); // returns false
License
The library is published under the MIT license (see LICENSE
file).