risscsolutions/printformer-php-sdk

printformer API 的 SDK

v0.2.3 2024-06-25 06:51 UTC

README

License: MIT Latest Stable Version Total Downloads GitHub Workflow Status (event) GitHub Workflow Status (event)

文档

安装

composer require risscsolutions/printformer-php-sdk

使用

创建 printformer-SDK 的新实例

use Rissc\Printformer;

$config = [
    'base_uri' => 'YOUR printformer URL',
    'identifier' => 'YOUR TENANT IDENTIFIER',
    'api_key' => 'YOUR TENANT API KEY',
];

$printformer = new Printformer($config);

创建新用户

$pfUser = $this->printformer->clientFactory()->user()->create([
    'first_name' => 'John',
    'last_name' => 'Doe',
    'locale' => 'en',
    'email' => 'john.doe@rissc.com', 
]);

创建新草稿

通过传递数组到 DraftClient

$draftClient = $printformer->clientFactory()->draft();
$draft = $draftClient
    ->create([
        'templateIdentifier' => 'YOUR MASTER TEMPLATE IDENTIFIER',
        'user_identifier' => $pfUser->getIdentifier(),
        'intent' => 'customize'
    ]);

或使用流体构建器

$draftBuilder = $printformer->builderFactory()->draft();
$draft = $draftBuilder
    ->template('YOUR MASTER TEMPLATE IDENTIFIER')
    ->user($pfUser->getIdentifier())
    ->intent('customize')
    ->create();

创建指向编辑器的 URL

$url = (string)$printformer->urlGenerator()->editor()
        ->draft($draft->getIdentifier())
        ->callback('https://YOUR-CALLBACK-URL-HERE')
        ->callbackCancel('https://YOUR-CANCEL-CALLBACK-URL-HERE') // Optional, if omitted the callback URL is used
        ->callbackHalt('https://YOUR-HALT-CALLBACK-URL-HERE') // Optional, if omitted the callbackCancel URL is used
        ->user($pfUser->getIdentifier())
        ->step('preview') // Optional, if omitted the editor jumps to the last visited step

创建打印 PDF

$printformer->clientFactory()->processing()->create(
    [$draft->getIdentifier(), $otherDraft->getIdentifier()],
    'https://YOUR-CALLBACK-URL-HERE'
);

创建指向打印 PDF 的 URL

(string)$printformer->urlGenerator()
->draftFiles()
->printFile($draft->getIdentifier())
->expiresAt((new \DateTimeImmutable())->modify('+1 hour'))

复制草稿

$draftClient = $printformer->clientFactory()->draft();
$draft = $draftClient
    ->replicate($draft, []);