PHP code example of picsi / sideolclient

1. Go to this page and download the library: Download picsi/sideolclient library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

picsi / sideolclient example snippets


use Picsi\Sideolclient\Sideol;

// Converts a target URL to PDF and saves it to a given directory.
$filename = Sideol::save(
    Sideol::chromium($apiUrl)->url('https://my.url'), 
    $pathToSavingDirectory
);

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

// Converts Office documents to PDF and merges them.
$response = Sideol::send(
    Sideol::libreOffice($apiUrl)
        ->merge()
        ->convert(
            Stream::path($pathToDocx),
            Stream::path($pathToXlsx)
        )
);

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->url('https://my.url');
    
$response = $client->sendRequest($request);

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->url('https://my.url');

try {
    $response = Sideol::send($request);
    return $response;
} catch (SideolApiError $e) {
    // $e->getResponse();
}

use  Picsi\Sideolclient\Sideol;

$response = Sideol::send($request, $client);

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->url('https://my.url');
    
$filename = Sideol::save($request, '/path/to/saving/directory');

use Picsi\Sideolclient\Sideol;

$response = Sideol::save($request, $pathToSavingDirectory, $client);

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->outputFilename('my_file')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->trace('debug')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium('http://localhost:3000')
    ->trace('debug', 'Request-Id')
    ->url('https://my.url');

use Picsi\Sideolclient\Exceptions\SideolApiError;
use Picsi\Sideolclient\Sideol;

try {
    $response = Sideol::send(
        Sideol::chromium('http://localhost:3000')
            ->url('https://my.url')
    );
} catch (SideolApiError $e) {
    $trace = $e->getSideolTrace();
    // Or if you override the header name:
    $trace = $e->getSideolTrace('Request-Id');
}

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Modules\ChromiumExtraLinkTag;
use Picsi\Sideolclient\Modules\ChromiumExtraScriptTag;

$request = Sideol::chromium($apiUrl)->url('https://my.url',
        [
            new ChromiumExtraLinkTag('https://my.css'),
        ],
        [
            new ChromiumExtraScriptTag('https://my.js'),
        ],
    );

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->html(Stream::path('/path/to/file.html'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->html(Stream::string('my.html', $someHtml));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->assets(
        Stream::path('/path/to/my.css'),
        Stream::path('/path/to/my.js')
    )
    ->html(Stream::path('/path/to/file.html'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->markdown(
        Stream::path('/path/to/my_wrapper.html'),
        Stream::path('/path/to/file.md')
    );

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->assets(
        Stream::path('/path/to/my.css'),
        Stream::path('/path/to/my.js')
    )
    ->markdown(
        Stream::path('/path/to/file.html'),
        Stream::path('/path/to/my.md'),
        Stream::path('/path/to/my2.md')
    );

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->paperSize($width, $height)
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->margins($top, $bottom, $left, $right)
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->preferCssPageSize()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->printBackground()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->printBackground()
    ->omitBackground()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->landscape()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->scale(2.0)
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->nativePageRanges('1-2')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::chromium($apiUrl)
    ->header(Stream::path('/path/to/my_header.html'))
    ->footer(Stream::path('/path/to/my_footer.html'))
    ->margins(1, 1, 0.39, 0.39)
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->waitDelay('3s')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->waitForExpression("window.status === 'ready'")
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->userAgent("Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->extraHttpHeaders([
        'My-Header-1' => 'My value',
        'My-Header-2' => 'My value'
    ])
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->failOnConsoleExceptions()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->emulateScreenMediaType()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->emulatePrintMediaType()
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->pdfFormat('PDF/A-1a')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->convert(Stream::path('/path/to/my.docx'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->outputFilename('archive')
    ->convert(
        Stream::path('/path/to/my.docx'),
        Stream::path('/path/to/my.xlsx')
    );

// $filename = archive.zip
$filename = Sideol::save($request, $pathToSavingDirectory);

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->merge()
    ->outputFilename('merged')
    ->convert(
        Stream::path('/path/to/my.docx'),
        Stream::path('/path/to/my.xlsx')
    );

// $filename = merged.pdf
$filename = Sideol::save($request, $pathToSavingDirectory);

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->landscape()
    ->convert(Stream::path('/path/to/my.docx'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->nativePageRanges('1-2')
    ->convert(Stream::path('/path/to/my.docx'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->pdfFormat('PDF/A-1a')
    ->convert(Stream::path('/path/to/my.docx'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::libreOffice($apiUrl)
    ->nativePdfFormat('PDF/A-1a')
    ->convert(Stream::path('/path/to/my.docx'));

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::pdfEngines($apiUrl)
    ->merge(
        Stream::path('/path/to/my.pdf'),
        Stream::path('/path/to/my2.pdf')
    );

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::pdfEngines($apiUrl)
    ->pdfFormat('PDF/A-1a')
    ->merge(
        Stream::path('/path/to/my.pdf'),
        Stream::path('/path/to/my2.pdf'),
        Stream::path('/path/to/my3.pdf')
    );

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::pdfEngines($apiUrl)
    ->convert(
        'PDF/A-1a'
        Stream::path('/path/to/my.pdf')
    );

use Picsi\Sideolclient\Sideol;
use Picsi\Sideolclient\Stream;

$request = Sideol::pdfEngines($apiUrl)
    ->outputFilename('archive')
    ->convert(
        'PDF/A-1a',
        Stream::path('/path/to/my.pdf'),
        Stream::path('/path/to/my2.pdf'),
        Stream::path('/path/to/my3.pdf')
    );

// $filename = archive.zip
$filename = Sideol::save($request, $pathToSavingDirectory);

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
    ->url('https://my.url'); 

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
    ->webhookMethod('PATCH')
    ->webhookErrorMethod('PUT')
    ->url('https://my.url');

use Picsi\Sideolclient\Sideol;

$request = Sideol::chromium($apiUrl)
    ->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
    ->webhookExtraHttpHeaders([
        'My-Header-1' => 'My value',
        'My-Header-2' => 'My value'    
    ])
    ->url('https://my.url');