docfast/sdk/php/src/PdfOptions.php
DocFast Bot bc67c52d3a
Some checks failed
Build & Deploy to Staging / Build & Deploy to Staging (push) Has been cancelled
feat: add Go, PHP, and Laravel SDKs
- Go SDK: zero deps, functional options pattern, full endpoint coverage
- PHP SDK: PHP 8.1+, curl-based, PdfOptions class, PSR-4 autoloading
- Laravel package: ServiceProvider, Facade, config publishing
- All SDKs document complete PDF options including new v0.4.5 params
2026-02-21 13:29:48 +00:00

65 lines
1.8 KiB
PHP

<?php
declare(strict_types=1);
namespace DocFast;
/**
* PDF generation options.
*/
class PdfOptions
{
/** Page size: A4, Letter, Legal, A3, A5, Tabloid. Ignored if width/height set. */
public ?string $format = null;
/** Landscape orientation. */
public ?bool $landscape = null;
/** Page margins using CSS units (e.g. "20mm"). */
public ?array $margin = null;
/** Print background graphics and colors. */
public ?bool $printBackground = null;
/** Suggested filename for the PDF download. */
public ?string $filename = null;
/** HTML template for page header. Requires displayHeaderFooter: true. */
public ?string $headerTemplate = null;
/** HTML template for page footer. */
public ?string $footerTemplate = null;
/** Show header and footer templates. */
public ?bool $displayHeaderFooter = null;
/** Scale of webpage rendering (0.1 to 2.0). */
public ?float $scale = null;
/** Paper ranges to print, e.g. "1-3,5". */
public ?string $pageRanges = null;
/** Give CSS @page size priority over format. */
public ?bool $preferCSSPageSize = null;
/** Paper width with units (e.g. "8.5in"). Overrides format. */
public ?string $width = null;
/** Paper height with units (e.g. "11in"). Overrides format. */
public ?string $height = null;
public function toArray(): array
{
$data = [];
foreach ([
'format', 'landscape', 'margin', 'printBackground', 'filename',
'headerTemplate', 'footerTemplate', 'displayHeaderFooter',
'scale', 'pageRanges', 'preferCSSPageSize', 'width', 'height',
] as $key) {
if ($this->$key !== null) {
$data[$key] = $this->$key;
}
}
return $data;
}
}