Skip to content
This repository was archived by the owner on Dec 11, 2024. It is now read-only.

codeinchq/office2pdf-php-client

Repository files navigation

Office2Pdf PHP client

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).

About

PHP client for the office2pdf API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages