PHPackages                             dskripchenko/printable-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. dskripchenko/printable-sdk

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

dskripchenko/printable-sdk
==========================

Official PHP SDK for the Printable document-generation service: HMAC-signed integration API client (templates, print-forms, batches, drafts, webhooks).

1.0.0(yesterday)00MITPHPPHP ^8.2

Since Jul 27Pushed yesterdayCompare

[ Source](https://github.com/dskripchenko/printable-sdk-php)[ Packagist](https://packagist.org/packages/dskripchenko/printable-sdk)[ Docs](https://github.com/dskripchenko/printable-sdk-php)[ RSS](/packages/dskripchenko-printable-sdk/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (2)Used By (0)

Printable SDK for PHP
=====================

[](#printable-sdk-for-php)

Official PHP client for the [Printable](https://printable.dev-cloud.space) document-generation service integration API: templates, print-forms, batch rendering, document drafts and webhook verification — with the HMAC request signing (simple and strict canonical modes) built in and byte-compatible with the server implementation.

Zero runtime dependencies (`ext-curl`, `ext-json`). PHP 8.2+.

Install
-------

[](#install)

```
composer require dskripchenko/printable-sdk
```

Quick start
-----------

[](#quick-start)

```
use Dskripchenko\PrintableSdk\PrintableClient;

$client = new PrintableClient(
    baseUrl: 'https://printable.example.com',
    token: 'erp-main-7f3a',
    secretKey: getenv('PRINTABLE_SECRET'),
    salt: getenv('PRINTABLE_SALT'),
    strict: false, // true if the credential has "verify full payload hash" enabled
);

// Render a document
$doc = $client->printFormCreate([
    'template' => 'invoice',
    'variables' => ['company' => ['name' => 'ACME Ltd']],
    'format' => 'link',
]);
echo $doc['link'];

// Batch with archive + email delivery
$batch = $client->printFormBatch([
    'template' => 'certificate',
    'items' => [
        ['variables' => ['name' => 'Alice']],
        ['variables' => ['name' => 'Bob']],
    ],
    'archive' => true,
    'deliver' => ['email' => 'hr@example.com'],
]);
$status = $client->printFormBatchGet($batch['uuid']);
```

API surface
-----------

[](#api-surface)

MethodEndpoint`templateList()``GET template/list``templateContract($slug, $version?)``GET template/contract``templateExport($slug, $version?)``GET template/export``templateImport($packageB64, $groupId, $options?)``POST template/import``printFormCreate($params)``POST print-form/create``printFormGet($uuid, $format?)``GET print-form/get``printFormRules($slug, $version?)``GET print-form/rules``printFormBatch($params)``POST print-form/batch``printFormBatchGet($uuid)``GET print-form/batch-get``documentDraftCreate($params)``POST document-draft/create``documentDraftGet($uuid)``GET document-draft/get``call($method, $endpoint, $params)`anything elseEvery method returns the decoded `payload` array of the response envelope. Errors (non-2xx or `success: false`) raise `PrintableException` with `status`, `errorKey` and the raw error `payload`.

Webhooks
--------

[](#webhooks)

```
$valid = $client->verifyWebhook(
    rawBody: $request->getContent(),
    signatureHeader: $request->header('X-Printable-Signature'),
    timestampHeader: $request->header('X-Printable-Timestamp'),
);
```

Testing your integration
------------------------

[](#testing-your-integration)

Pass a custom `transport` callable to stub HTTP without touching cURL:

```
$client = new PrintableClient(..., transport: function ($method, $url, $body) {
    return [200, '{"success":true,"payload":{"ok":true}}'];
});
```

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3aae29ece4986be5d3eea1ba57457547d2ce92fcdee466af45f69ec4079ec9c7?d=identicon)[dskripchenko](/maintainers/dskripchenko)

---

Top Contributors

[![dskripchenko](https://avatars.githubusercontent.com/u/5102028?v=4)](https://github.com/dskripchenko "dskripchenko (1 commits)")

---

Tags

pdfsdkdocxapi clienthmacdocument generationprintable

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/dskripchenko-printable-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/dskripchenko-printable-sdk/health.svg)](https://phpackages.com/packages/dskripchenko-printable-sdk)
```

###  Alternatives

[gotenberg/gotenberg-php

A PHP client for interacting with Gotenberg, a developer-friendly API for converting numerous document formats into PDF files, and more!

3896.2M31](/packages/gotenberg-gotenberg-php)[vaites/php-apache-tika

Apache Tika bindings for PHP: extracts text from documents and images (with OCR), metadata and more...

1171.5M2](/packages/vaites-php-apache-tika)[mnvx/lowrapper

PHP wrapper over LibreOffice converter

127201.9k](/packages/mnvx-lowrapper)[aspose-cloud/aspose-words-cloud

Open, generate, edit, split, merge, compare and convert Word documents. Integrate Cloud API into your solutions to manipulate documents. Convert PDF to Word (DOC, DOCX, ODT, RTF and HTML) and in the opposite direction.

31177.3k](/packages/aspose-cloud-aspose-words-cloud)[enzim/tika-wrapper

This is a simple PHP Wrapper for Apache Tika (using the tika-app jar)

6021.4k](/packages/enzim-tika-wrapper)[paperdoc-dev/paperdoc-lib

A zero-dependency PHP library for generating, parsing and converting documents (PDF, HTML, CSV, DOCX)

1253.7k](/packages/paperdoc-dev-paperdoc-lib)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
