PHPでお使いの方へ — Docker体験版
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →データベースから取り出した売上を、そのまま請求書づくりの材料に。PHPで明細と金額を組み立て、ブラウザで見て、印刷するところまでつながります。
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →PHPの補助クラスは、データ取得や金額計算の代わりをするものではありません。お客様の業務処理で求めた値を、名前の付いた帳票項目に設定するための道具です。PHP自体にWASMの描画処理を組み込む必要はありません。
ブラウザのデザイナーで帳票定義 .prepdj を作り、補助クラスで印刷データ .prepej にまとめます。
以下は txtTotal という項目のある帳票定義を使う例です。サンプルの補助ライブラリが必要です。
use Pao\Reports\Web\PrintData;
require_once __DIR__ . '/src/PrintData.php';
$definition = json_decode(
file_get_contents('invoice.prepdj'),
true, 512, JSON_THROW_ON_ERROR
);
$document = (new PrintData())->setDefinition($definition);
$document->pageStart();
$document->setValue('txtTotal', '12,345');
$document->pageEnd();
$json = $document->toJson();サンプルのPrintData.phpを参照する例です。
参照するソース:samples/php/src
PHPがJSONを返した後、ブラウザのJavaScriptがそれをプレビュアーへ渡します。バックエンドでPDFを作る場合はPHPから内部のNode.js描画サービスへ渡し、完成したPDFを返します。
サンプルでは請求書のプレビューと印刷、ブラウザ/サーバーでのPDF生成、印刷データの保存・読み込みを試せます。プレビューと印刷はSVG、PDFは別の出力経路です。
印刷ダイアログはブラウザが開きます。プリンターへの無人・自動印刷を保証するものではありません。
WebAssembly(WASM)が動く仕組みを見る →