codeinc/office2pdf-client

This package is abandoned and no longer maintained. The author suggests using the codeinc/document-cloud-client package instead.

A PHP client for the office2pdf API

v1.9 2024-12-10 18:07 UTC

This package is auto-updated.

Last update: 2024-12-11 01:39:25 UTC


README

Code Inc. Tests

Important

This client is deprecated and is replaced by the Document Cloud PHP Client

This repository contains a PHP 8.2+ library for converting Office files to PDF using the office2pdf service.

Installation

The library is available on Packagist. The recommended way to install it is via 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).