Artisan API リファレンス
Artisan パッケージ(nextpdf/artisan)は、相互に関連する 2 つの API グループを公開します。1 つは Chrome レンダリング関連の ChromeRendererConfig、ChromeHtmlRenderer、ChromeSecurityPolicy、ChromeRenderResult、ViewportCalculator、BrowserPool で、HTML フラグメントを Chrome 生成の PDF に変換します。もう 1 つは限定的な parser/importer 関連の PdfReader、PageImporter、ImportedFormXObject と、補助的な tokenizer/xref クラス群で、レンダリングされた出力をテキスト選択可能な Form XObject として NextPDF ドキュメントに埋め込みます。
まず押さえるべき点です。HTML から PDF を得たいだけであれば、このパッケージを直接操作することはほとんどありません。ChromeRendererConfig を NextPDF の Document に設定し、writeHtmlChrome() を呼び出します(クイックスタート を参照)。以下のクラスは、ワーカーにレンダラーを組み込む場合やパーサー診断を実行する場合にのみ使用します。「一般的なタスク」の最初の例では、その 1 回の呼び出しで行う方法を示します。
一般的なタスク
「一般的なタスク」という見出しのセクション以下の 3 つのフローは、最上位の呼び出しから明示的なレンダリングおよびインポートのパイプラインまで、実際の利用方法のほぼすべてを網羅しています。すべてのサンプルは nextpdf-Artisan/src(およびパッケージの README.md / ci/tests/)に対して検証されています。
HTML フラグメントをテキスト選択可能な PDF にレンダリングします。標準的な 1 回呼び出しの例です。
<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Artisan\ChromeRendererConfig;
require __DIR__ . '/vendor/autoload.php';
$config = new ChromeRendererConfig(chromeBinaryPath: '/usr/bin/chromium');
$doc = Document::createStandalone();$doc->setChromeRendererConfig($config);$doc->addPage();$doc->writeHtmlChrome('<div style="display:flex;gap:20px"><h2>Revenue</h2><p>$124,500</p></div>');$doc->save('/tmp/report.pdf');処理内容:Chrome がフラグメントをレイアウトし、ブリッジがページ 0 を Form XObject として埋め込むため、テキストは選択可能なまま保たれます。writeHtmlChrome(string $html, ?float $width = null, ?float $height = null): static は、$height が null の場合に高さを自動調整します。
レンダラーを実行し、ページを自分でインポートします。writeHtmlChrome() の背後にある明示的なパイプラインで、ワーカーやカスタム配置に使います。
<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeHtmlRenderer;use NextPDF\Artisan\ChromeRendererConfig;use NextPDF\Artisan\ImportedFormXObject;use NextPDF\Artisan\PageImporter;use NextPDF\Parser\PdfReader;
$renderer = new ChromeHtmlRenderer(new ChromeRendererConfig(renderTimeout: 30));
try { $result = $renderer->render($html, widthPt: 595.28);
$reader = new PdfReader($result->getPdfData()); $reader->parse();
$form = (new PageImporter())->import($reader);} finally { $renderer->close();}処理内容:Chrome PDF バイト列にレンダリングし、それを解析して、ページ 0 を配置可能な ImportedFormXObject にインポートします。Chrome プロセスを解放するため、レンダラーは必ず close() してください。
フレームワーク形式の配列から構成を作成します。ハードコードされたコンストラクター引数の代わりに、config/*.php やバンドルのパラメーターで使用します。
<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeRendererConfig;
$config = ChromeRendererConfig::fromArray([ 'chrome_binary' => '/usr/bin/chromium', 'render_timeout' => 45, 'max_html_size' => 2_000_000, 'no_sandbox' => false,]);処理内容:スネークケースの構成配列をコンストラクターにマッピングします。設定されていないキーはデフォルトにフォールバックし、chrome_binary は空でない文字列の場合にのみ適用されます。
Chrome レンダラー
「Chrome レンダラー」という見出しのセクションこれらの型がレンダリングの起動と実行を担います。ChromeRendererConfig を作成し、ChromeHtmlRenderer に渡し、render() を呼び出して ChromeRenderResult を取得します。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
new ChromeRendererConfig(?string $chromeBinaryPath = null, int $renderTimeout = 30, string $defaultCss = '', int $maxHtmlSize = 5000000, bool $noSandbox = false) | バイナリパス、タイムアウト、CSS、HTML サイズ上限、サンドボックスフラグ。 | バイナリパスが null の場合は Chrome を自動検出。サンドボックスは無効化しない限り有効。 | ChromeRendererConfig | 想定なし。 | ランタイム要件がある場合のみ noSandbox を設定。 |
ChromeRendererConfig::fromArray(array $config) | chrome_binary、render_timeout、default_css、max_html_size、no_sandbox。 | 欠落値はコンストラクターのデフォルトを使用。 | ChromeRendererConfig | 型が一致しない場合、省略可能なキーはデフォルトへフォールバック。 | フレームワーク形式の構成配列に対応。 |
new ChromeHtmlRenderer(ChromeRendererConfig $config, ?LoggerInterface $logger = null, ?HtmlSecurityPolicyInterface $htmlSecurityPolicy = null) | 構成、省略可能なロガー、省略可能な解析層 HTML ポリシー。 | ポリシー未指定時は DefaultHtmlSecurityPolicy を使用。 | ChromeHtmlRenderer | Chrome のセットアップエラーは初回レンダリング時に発生。 | レンダラーは close() までブラウザープールを保持。 |
ChromeHtmlRenderer::render(string $html, float $widthPt, float $heightPt = 0) | html: 入力フラグメント。widthPt: 用紙幅。heightPt: 目標の高さまたは自動。 | コンテンツの高さは heightPt <= 0 の場合に自動計算。 | ChromeRenderResult | ChromeRenderException。HTML サイズの検証失敗。 | CDP 経由でサブリソースのネットワークリクエストをブロック。 |
ChromeHtmlRenderer::getHtmlSecurityPolicy() | なし。 | 構成済みの解析層ポリシーを返却。 | HtmlSecurityPolicyInterface | 想定なし。 | Chrome のトランスポートレベル制御を補完。 |
ChromeHtmlRenderer::close() | なし。 | ブラウザープールのクローズとクリア。 | void | 基盤ライブラリからブラウザーのシャットダウンエラーが表面化する可能性。 | ワーカーのシャットダウン時に呼び出し。 |
HTML セキュリティポリシー
「HTML セキュリティポリシー」という見出しのセクションこれらは、ChromeHtmlRenderer::render()(内部でこれらを呼び出します)を経由せず、レンダリング前に外部 HTML を自分で検証してラップする場合に使用します。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
ChromeSecurityPolicy::validate(string $html, int $maxSize) | HTML 入力と最大バイトサイズ。 | サイズと許可されない構文の検証に合格した入力のみ受け入れ。 | void | ChromeRenderException または検証例外。 | 外部 HTML を受け入れる場合は、ブラウザーでのレンダリング前に実行。 |
ChromeSecurityPolicy::wrapHtml(string $html, int $viewportWidth, string $defaultCss = '') | HTML フラグメント、ビューポート幅、省略可能なデフォルト CSS。 | フラグメントを包む完全なレンダリングドキュメントを生成。 | string | 検証または文字列構築のエラー。 | レンダラー固有の CSS をアプリケーションの HTML から分離して保持。 |
結果および変換ヘルパー
「結果および変換ヘルパー」という見出しのセクションこれらは、レンダリング出力(ChromeRenderResult)の読み取りと、ビューポートのサイズ設定や高さ計算で PDF ポイントと Chrome CSS ピクセルを相互変換するために使用します。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
new ChromeRenderResult(string $pdfData, float $widthPt, float $heightPt, float $contentHeightCssPx) | 生の PDF バイト列、幅、高さ、測定されたコンテンツの高さ。 | 型付きコンストラクタープロパティ以上の検証なし。 | ChromeRenderResult | 想定なし。 | 通常は ChromeHtmlRenderer::render() から返却。 |
ChromeRenderResult::getPdfData() | なし。 | Chrome が生成した生の PDF バイト列を返却。 | string | 想定なし。 | 埋め込み時に PdfReader および PageImporter と併用。 |
ChromeRenderResult::getWidthPt() | なし。 | 要求された幅をポイント単位で返却。 | float | 想定なし。 | インポートされたフォームオブジェクトのサイズ設定に使用。 |
ChromeRenderResult::getHeightPt() | なし。 | 計算された高さまたは要求された高さをポイント単位で返却。 | float | 想定なし。 | 自動高さには印刷レイアウトのバッファーを含む。 |
ViewportCalculator::pointsToCssPx(float $pt) | pt: PDF ポイント。 | 72 PDF ポイントあたり 96 CSS px で変換。 | int | 想定なし。 | Chrome のビューポート幅に合わせて丸め。 |
ViewportCalculator::cssPxToPoints(float $px) | px: CSS ピクセル。 | 96 CSS px あたり 72 PDF ポイントで変換。 | float | 想定なし。 | 自動高さの計算に使用。 |
インポートおよびパーサー API
「インポートおよびパーサー API」という見出しのセクションこれは中核的なインポート経路です。PdfReader で Chrome PDF バイト列を解析し、そのリーダーを PageImporter::import() に渡して埋め込み可能なページを取得します。その他の PdfReader メソッドは診断をサポートします。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
new PdfReader(string $data) | data: 完全な PDF バイト列。 | パーサーは parse() まで未実行。 | PdfReader | 想定なし。 | Chrome 生成 PDF 向けの設計。 |
PdfReader::parse() | なし。 | xref チェーンとトレーラーを解析。 | void | PdfParseException(無効な PDF 構造の場合)。 | object/page へのアクセス前に必須。 |
PdfReader::getObject(int $objNum) | オブジェクト番号。 | 解析済みオブジェクトを番号で resolve(解決)。 | PdfObject | PdfParseException(オブジェクトが存在しないか不正な形式の場合)。 | 必ず parse() の後に使用。 |
PdfReader::getTrailer() | なし。 | 解析済みトレーラー辞書を返却。 | array | PdfParseException(トレーラーデータが利用できない場合)。 | 診断およびリビジョン分析で使用。 |
PdfReader::getObjectNumbers() | なし。 | 解析済みオブジェクト番号を返却。 | array | 解析後は想定なし。 | インポーター診断に有用。 |
PdfReader::getPage(int $pageIndex) | pageIndex: 0 始まりのページインデックス。 | 暗黙的な解析なし。 | PdfObject | PdfParseException(存在しないか範囲外の場合)。 | インポーターは既定でページ 0 を使用。 |
PdfReader::getPageContentStream(PdfObject $page) | page: 解析済みページオブジェクト。 | コンテンツストリームを解決。 | string | PdfParseException(無効なストリームの場合)。 | 空のストリームはインポーター失敗の原因。 |
PdfReader::getPageResources(PdfObject $page) | page: 解析済みページオブジェクト。 | ページリソースを解決。 | array | PdfParseException(無効なリソースの場合)。 | リソース辞書はフォームオブジェクトとともに埋め込み。 |
PdfReader::getPageMediaBox(PdfObject $page) | page: 解析済みページオブジェクト。 | 存在しない場合は A4 に近い寸法へフォールバック。 | array | パーサーの失敗。 | PDF 空間の座標を返却。 |
PdfReader::resolveRef(mixed $value) | 解析済みの値。 | 該当時はオブジェクト参照を再帰的に解決。 | mixed | PdfParseException(無効な参照の場合)。 | インポーターワークフロー向けに公開された内部用途ヘルパー。 |
PdfReader::collectPageResources(PdfObject $page) | page: 解析済みページオブジェクト。 | ページリソース参照の走査。 | array | パーサーの失敗。 | インポートされたページとともに依存オブジェクトを埋め込むために使用。 |
PdfReader::getRevisionCount() | なし。 | 解析済み増分リビジョン数をカウント。 | int | 解析後は想定なし。 | 署名済みまたは増分更新された PDF に有用。 |
PdfReader::getRevisionXRef(int $index) | 0 始まりのリビジョンインデックス。 | 1 つのリビジョン xref テーブルを返却。 | RevisionXRefTable | PdfParseException(無効なインデックスの場合)。 | 低レベルのリビジョン診断に使用。 |
PdfReader::getRevisions() | なし。 | 解析済みのすべてのリビジョン xref テーブルを返却。 | array | 解析後は想定なし。 | 読み取り専用のパーサー状態ビュー。 |
PageImporter::import(PdfReader $reader, int $pageIndex = 0) | 解析済みリーダーと 0 始まりのページインデックス。 | 省略時は最初のページをインポート。 | ImportedFormXObject | PdfParseException(ページを抽出できない場合)。 | コンテンツストリーム、メディアボックス、リソース、参照されるオブジェクトを収集。 |
パーサーサポートオブジェクト
「パーサーサポートオブジェクト」という見出しのセクションこれらは、パーサーが返す、または内部で使用する値オブジェクトとヘルパーです。インポートされたオブジェクト、リソース、ストリーム、リビジョンテーブルを調査する際に使用します。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
new ImportedFormXObject(string $contentStream, array $mediaBox, array $embeddedObjects, array $resourcesDict) | デコード済みコンテンツストリーム、メディアボックス、埋め込みオブジェクト、リソース辞書。 | 自己完結したインポート済みフォームのペイロードを保持。 | ImportedFormXObject | 想定なし。 | 通常は PageImporter::import() から返却。 |
ImportedFormXObject::getWidth() | なし。 | インポート済みフォームの幅をポイント単位で返却。 | float | 想定なし。 | Chrome の出力をページに配置する際に使用。 |
ImportedFormXObject::getHeight() | なし。 | インポート済みフォームの高さをポイント単位で返却。 | float | 想定なし。 | 自動高さのレンダリング結果はこの値を通じて伝播。 |
ImportedFormXObject::getEmbeddedObjects() | なし。 | インポート済みフォームが必要とするオブジェクトを返却。 | array | 想定なし。 | ライターコードはこれらのオブジェクトを使ってリソースを保持。 |
ImportedFormXObject::getResourcesDict() | なし。 | インポート済みリソース辞書を返却。 | array | 想定なし。 | フォーム XObject の構築時に使用。 |
ImportedFormXObject::getMediaBox() | なし。 | インポート済みメディアボックスを返却。 | array | 想定なし。 | 配置の診断に使用。 |
ImportedFormXObject::getContentStream() | なし。 | インポート済みページのコンテンツストリームを返却。 | string | 想定なし。 | writer/import 統合を想定。 |
new PdfObject(int $objectNumber, int $generation, array $dictionary, ?string $rawStreamData = null, ?string $decodedStreamData = null, ?string $rawDictionaryBytes = null) | オブジェクト番号、世代、解析済み辞書、省略可能なストリームバイト列、省略可能なデコード済みストリーム、省略可能な生の辞書バイト列。 | 解析済みオブジェクトの状態を保持。 | PdfObject | 想定なし。 | パーサー内部で作成。 |
PdfObject::getRawDictionaryBytes() | なし。 | 利用可能な場合は元の辞書バイト列を返却。 | `string | null` | 想定なし。 |
PdfObject::getRawStreamData() | なし。 | 利用可能な場合は未デコードのストリームバイト列を返却。 | `string | null` | 想定なし。 |
PdfObject::getDictionary() | なし。 | 解析済み辞書エントリを返却。 | array | 想定なし。 | 読み取り専用のパーサービュー。 |
PdfObject::get(string $key) | 辞書キー。 | キーが存在しない場合は null を返却。 | mixed | 想定なし。 | 呼び出し側による生辞書解析を不要化。 |
PdfObject::getRef(string $key) | 辞書キー。 | 値が参照の場合、オブジェクト参照のタプルを返却。 | `array | null` | 想定なし。 |
PdfObject::getArray(string $key) | 辞書キー。 | 配列値を返却。利用できない場合は空の配列を返却。 | array | 想定なし。 | 配列値を持つ辞書エントリ向けの便利なラッパー。 |
PdfObject::hasStream() | なし。 | ストリームバイト列の有無を確認。 | bool | 想定なし。 | 辞書のみのオブジェクトを区別。 |
PdfObject::getType() | なし。 | 辞書の /Type を読み取り。 | `string | null` | 想定なし。 |
PdfObject::getSubtype() | なし。 | 辞書の /Subtype を読み取り。 | `string | null` | 想定なし。 |
RevisionExtractor::extractRevision(string $pdfData, PdfReader $reader, int $revision) | PDF バイト列、解析済みリーダー、0 始まりのリビジョンインデックス。 | 1 つの増分リビジョンを抽出。 | string | PdfParseException(無効な境界の場合)。 | パーサーのテストおよび診断で使用。 |
RevisionExtractor::getRevisionBoundaries(string $pdfData, PdfReader $reader) | PDF バイト列と解析済みリーダー。 | 増分リビジョンのバイト範囲を検出。 | array | PdfParseException(不正な形式の xref 構造の場合)。 | 署名済みまたは増分更新された PDF の分析に有用。 |
| `StreamDecoder::decode(string $data, string | array $filter)` | ストリームバイト列と 1 つ以上の PDF フィルター。 | フィルターを順番に適用。 | string | PdfParseException(サポートされないか無効なフィルターの場合)。 |
new ResourceCollector(PdfReader $reader) | 解析済みリーダー。 | 収集対象オブジェクトの集合は空で開始。 | ResourceCollector | 想定なし。 | 内部で PdfReader::collectPageResources() が使用。 |
ResourceCollector::traverse(mixed $value, int $depth = 0) | 解析済みの値と再帰の深さ。 | 内部の深さ制限までリソース参照を走査。 | void | 無効な参照の場合はパーサーの失敗。 | ページインポートのリソースクロージャー向け内部ヘルパー。 |
ResourceCollector::getCollected() | なし。 | 収集済みリソースオブジェクトを返却。 | array | 想定なし。 | 必ず traverse() の後に呼び出し。 |
new RevisionXRefTable(int $index, int $xrefOffset, array $xrefEntries, array $trailer, ?int $prevOffset) | リビジョンインデックス、xref オフセット、xref エントリ、トレーラー、省略可能な前回オフセット。 | 1 つの増分リビジョンのイミュータブルなスナップショット。 | RevisionXRefTable | 想定なし。 | パーサー内部で作成。 |
RevisionXRefTable::getObjectNumbers() | なし。 | リビジョンテーブルでアクティブなオブジェクト番号を返却。 | array | 想定なし。 | 低レベルのリビジョン診断 API。 |
RevisionXRefTable::getActiveObjectCount() | なし。 | アクティブなオブジェクト数をカウント。 | int | 想定なし。 | パーサーのアサーションに有用。 |
RevisionXRefTable::hasRootUpdate() | なし。 | リビジョンがドキュメントルートを更新するかどうかを報告。 | bool | 想定なし。 | 増分更新の分析に有用。 |
RevisionXRefTable::getSize() | なし。 | xref テーブルのサイズ値を返却。 | int | 想定なし。 | 解析済み PDF xref メタデータを反映。 |
低レベルのトークナイザーおよび xref API
「低レベルのトークナイザーおよび xref API」という見出しのセクションこれらは、詳細なパーサー診断やフィクスチャを縮小する場合にのみ使用します。PdfReader の下層にあるレキサーとクロスリファレンス機構を公開しており、通常のインポートには必要ありません。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
new PdfTokenizer(string $data, int $offset = 0) | PDF バイト列と省略可能な初期オフセット。 | オフセット 0 から開始。 | PdfTokenizer | 想定なし。 | 低レベルの字句パーサー。 |
PdfTokenizer::getOffset() | なし。 | 現在のバイトオフセットを返却。 | int | 想定なし。 | パーサーエラー向けの診断ヘルパー。 |
PdfTokenizer::setOffset(int $offset) | バイトオフセット。 | トークナイザーのカーソルを移動。 | void | PdfParseException(無効なオフセットの場合)。 | 慎重に使用。パーサー状態は呼び出し側が所有。 |
PdfTokenizer::isEof() | なし。 | カーソルが末尾に達したかどうかを確認。 | bool | 想定なし。 | 低レベルのパーサーループヘルパー。 |
PdfTokenizer::skipWhitespace() | なし。 | PDF の空白とコメントを読み飛ばして進行。 | void | 想定なし。 | トークン読み取り前に使用。 |
PdfTokenizer::readToken() | なし。 | 次のスカラートークンを読み取り。 | `string | int | float |
PdfTokenizer::readName() | なし。 | PDF 名前オブジェクトを読み取り。 | string | PdfParseException(不正な形式の名前の場合)。 | 名前のエスケープをデコード。 |
PdfTokenizer::readLiteralString() | なし。 | リテラル文字列を読み取り。 | string | PdfParseException(不正な形式の文字列の場合)。 | ネストされた括弧とエスケープを処理。 |
PdfTokenizer::readHexString() | なし。 | 16 進文字列を読み取り。 | string | PdfParseException(不正な形式の 16 進数の場合)。 | 奇数長の 16 進数はパーサー規則に従ってパディング。 |
PdfTokenizer::readNumber() | なし。 | 整数または浮動小数点数を読み取り。 | `int | float` | PdfParseException(無効な数値の場合)。 |
PdfTokenizer::readKeyword() | なし。 | PDF キーワードを読み取り。 | string | PdfParseException(無効なキーワードの場合)。 | キーワード解析を一元化。 |
PdfTokenizer::readDictionary() | なし。 | PDF 辞書を読み取り。 | array | PdfParseException(不正な形式の辞書の場合)。 | オブジェクト、ストリーム、トレーラーに使用。 |
PdfTokenizer::readArray() | なし。 | PDF 配列を読み取り。 | array | PdfParseException(不正な形式の配列の場合)。 | 再帰的なパーサーヘルパー。 |
PdfTokenizer::readValue() | なし。 | サポート対象の任意の PDF 値を読み取り。 | mixed | PdfParseException(不正な形式の値の場合)。 | 一般的なパーサープリミティブ。 |
PdfTokenizer::readStreamData(int $length) | ストリーム長。 | 要求されたストリームバイト列を正確に読み取り。 | string | PdfParseException(無効なストリーム境界の場合)。 | 辞書のストリーム長を解決した後に使用。 |
PdfTokenizer::peek(int $length = 1) | バイト数。 | カーソルを進めずに先読み。 | string | 想定なし。 | パーサー分岐に有用。 |
PdfTokenizer::searchBackward(string $pattern, int $startFrom = 0) | パターンと省略可能な開始オフセット。 | 末尾または指定されたオフセットから後方検索。 | `int | false` | 想定なし。 |
PdfTokenizer::readLine() | なし。 | 現在のオフセットから 1 行を読み取り。 | string | 想定なし。 | 低レベルのスキャナーヘルパー。 |
CrossRefParser::parseXRefTable(string $data, int $offset) | PDF バイト列と xref テーブルオフセット。 | 従来型の xref テーブルエントリを解析。 | array | PdfParseException(不正な形式の xref データの場合)。 | 低レベルのパーサー API。 |
CrossRefParser::parseXRefStream(string $data, int $offset) | PDF バイト列と xref ストリームオフセット。 | xref ストリームエントリを解析。 | array | PdfParseException(不正な形式のストリームデータの場合)。 | 最新の PDF xref ストリームをサポート。 |
省略可能なファクトリーおよびブラウザープール
「省略可能なファクトリーおよびブラウザープール」という見出しのセクションEInvoiceServiceFactory は、省略可能な Premium e-invoice の契約を遅延解決します(存在しない場合は null を返します)。BrowserPool は、レンダラーが所有する Chrome のライフサイクルヘルパーで、直接管理するのは長時間実行されるワーカーの場合のみです。
| シンボル | パラメーター | 既定の動作 | 戻り値 | スローまたは失敗の条件 | 備考 |
|---|---|---|---|---|---|
EInvoiceServiceFactory::makeEmbedder() | なし。 | Premium Pro の e-invoice サポートがインストールされていない限り null を返却。 | `EmbedderInterface | null` | 省略可能なパッケージの構築エラー。 |
EInvoiceServiceFactory::makeValidator() | なし。 | Premium Enterprise の検証サポートがインストールされていない限り null を返却。 | `ValidatorInterface | null` | 省略可能なパッケージの構築エラー。 |
EInvoiceServiceFactory::makeDefaultProfile() | なし。 | 利用可能な場合はデフォルトの e-invoice プロファイルを返却。 | `ProfileInterface | null` | 省略可能なパッケージのエラー。 |
EInvoiceServiceFactory::makeSchematronRunner() | なし。 | Premium Enterprise の Schematron サポートがインストールされていない限り null を返却。 | `SchematronRunnerInterface | null` | 省略可能なパッケージの構築エラー。 |
new BrowserPool(ChromeRendererConfig $config, ?LoggerInterface $logger = null) | レンダラー構成と省略可能なロガー。 | ブラウザーは最初の getBrowser() で遅延起動。 | BrowserPool | ブラウザー起動までは想定なし。 | レンダラーが所有するライフサイクルヘルパー。 |
BrowserPool::getBrowser() | なし。 | 現在の Chrome ブラウザーインスタンスを起動または返却。 | Browser | ブラウザーの起動エラー。 | レンダラーが所有するライフサイクルヘルパー。 |
BrowserPool::incrementRenderCount() | なし。 | レンダリングカウンターを増やし、プールのポリシーが要求する場合はローテーション。 | void | ブラウザーのライフサイクルエラー。 | 長時間実行されるワーカーで使用。 |
BrowserPool::close() | なし。 | 管理対象のブラウザーインスタンスをクローズ。 | void | ブラウザーのシャットダウンエラー。 | ワーカーのシャットダウン時に呼び出し。 |
開発上の注意
「開発上の注意」という見出しのセクション- レンダラーは、信頼されない HTML 向けのブラウザーサンドボックスではありません。レンダリング前に、サイズ、リソースポリシー、呼び出し側の認可を検証してください。
- パーサー API は意図的に限定的に設計されています。これらは Chrome 出力のインポート用であり、一般的な PDF の修復用ではありません。
- 長時間稼働するワーカーでは、レンダラーを明示的に閉じてください。