ホームページ >バックエンド開発 >PHPチュートリアル >phpmaster | Zend-PDFで請求書を生成します
この記事では、zend_pdfを使用してPDF請求書を動的に生成する方法を示しています。 主な利点には、新しいPDFの作成や既存のPDFの変更、静的(会社情報、ロゴ)と動的(顧客、トランザクションの詳細)データの両方を備えた請求書に最適です。 zend_pdfはフォント、色、コンテンツの追加を処理しますが、テキストの配置には調整が必要になる場合があります。 生成された請求書をファイルに保存するか、ダウンロードのためにブラウザに直接送信することができます。 基本的なPDF作成を超えて、Zend_PDFは、画像包含、フォントスタイリング、リンク挿入、エラー処理などの機能を提供します。 ただし、テーブルのような複雑な要素は、手動のセル配置計算を必要とします。
始めましょう:テンプレートベースのアプローチ
ゼロからPDFを作成することは可能ですが、事前に設計されたテンプレート(例:単語やLibreofficeから、PDFとしてエクスポート)を使用する方が効率的です。 このアプローチは、コーディングと生成時間を最小限に抑えます。 テンプレートには静的要素(会社の詳細、ロゴなど)が含まれていますが、動的データはプログラムで追加されます。 以下は、例のテンプレートです(独自のものと交換してください)。
Zend Frameworkのセットアップ:
からダウンロードしてください。 サーバーに梱包し、依存関係管理のためにコンポーザーを使用してください:。 (注:古い例ではマニュアルオートローダーを使用しました。作曲家は推奨される現代的なアプローチです)。
composer require zendframework/zendpdf
PDFテンプレートのロード:
Zend_Pdf::load("/path/to/invoice-template.pdf");
フォントと色:pages
$page = $invoice->pages[0];
を介して14の標準フォント(例:)またはカスタムTrueTypeフォントをサポートしています。 。
を使用してフォントとサイズを設定しますオブジェクト(Grayscale、RGB、CMYK、またはHTML表記)を使用して色が指定されています。 塗りつぶしの色をZend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES_BOLD);
。Zend_Pdf_Font::fontWithPath("/path/to/myfont.ttf");
で設定します
$page->setFont($font, 12);
Zend_Pdf_Color_*
$page->setFillColor($color);
例データ(データベースの取得に置き換えます):
$customerName = "Angelina Jolie"; $invoiceId = "DF-00025786423"; $items = array( array("Golden Globe Polish", 1, 25.50, 25.50), array("Trophy Shelf", 2, 180.00, 360.00), array("DIY Tattoo Kit", 1, 149.99, 149.99) ); $subtotal = 535.49; $discount = 10; $amountDue = 481.94;
テキスト配置の例(必要に応じて座標を調整):
$page->drawText($customerName, 110, 641); $page->drawText($invoiceId, 420, 642); // ... other text additions ...
請求書のレンダリング:
$invoice->save($pathToFile);
を使用してPDFを保存するか、ダウンロードのためにブラウザに直接送信してください:
header("Content-Type: application/x-pdf"); header("Content-Disposition: attachment; filename=invoice-". date("Y-m-d-H-i") . ".pdf"); echo $invoice->render();
結論:
このガイドは、請求書生成のZend_pdfの基本的な理解を提供します。 より高度な機能を得るために、図書館の広範な機能を調べてください。 テンプレートに合わせて座標を適応させることを忘れないでください。 完全なコードの例はGitHubで利用できます(利用可能な場合は提供されるリンク)。
以上がphpmaster | Zend-PDFで請求書を生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。