web-dev-qa-db-ja.com

PHP create PDF請求書

こんにちは、PHPを使用して適切にフォーマットされたPDF請求書を作成する方法を知っていますか?

理想的には、ヘッダーのあるものを探してから、いくつかの種類の表を含む製品の項目別リストを探しています。簡単なGoogleの後、PDFを生成することに満足しますが、それをうまくスタイル付けすることはまったく別のことです。

ありがとう

26
Martin

このためにTCPDFを使用します( http://www.tcpdf.org/ を参照):かなり機能があり、セットアップに苦労しません。データソースによっては、いくつかの問題があるかもしれません。私の場合、データはSOAP会計システムへのインターフェースから供給され、アプリにCodeIgniterを使用します。これを行うことができます。

$address = $extraclient->get_company_address();

// generate the PDF invoice
$this->load->library('pdfinvoice');

// set document information
$this->pdfinvoice->SetSubject("Invoice " . $data_invoice['code_invoice']);

// add a page
$this->pdfinvoice->AddPage();
$this->pdfinvoice->StartPageOffset();

// write the client's details out
$width = $this->pdfinvoice->GetPageWidth()/2;
$margins = $this->pdfinvoice->getMargins();
$this->pdfinvoice->SetFont('times', 'b', $this->pdfinvoice->bigFont );
$this->_row($width, array("From:", "To:"));
$this->pdfinvoice->SetFont('times', 'i', $this->pdfinvoice->smallFont );
$this->_row($width, array("MY NAME", $customer['name_contact']));
$this->_row($width, array($address['phone'], $customer['name_customer']));
$this->_row($width, array($address['street'], $customer['address1_street']));
$this->_row($width, array($address['city']. ", ".$address['state']." ".$address['zipcode'],
                          $customer['address1_city']. ", ".$customer['address1_state']." ".$customer['address1_Zip

ここに挿入するには完全なコードは非常に長すぎますが、アイデアを得る必要があり、かなり正確なレイアウト制御が可能です。

16
Femi

あなたが望むもののhtml/css表現を作成することをお勧めしますPDF of and PDFを生成するためにそれを使用します。変換を処理するアプリケーションがたくさんあります。ここで多くの答え: HTML + CSSをPDFに変換しますか?

25

Html2Pdfをご覧ください。 FPDFに基づいたphpクラスであり、HTMLからPDFファイルを作成できます。したがって、htmlを使用してテキストをフォーマットし、そのpdfを作成します。

SourceForgeリンク

1
Shoaib Shakeel

プログラムでpdfドキュメントを生成できますが、PDFドキュメントのHTMLページを生成し、何らかのツール/サービスを使用してHTMLを変換するのが最善であることがわかりましたPDF。

あなたがホストできるアプリを探しているなら、あなたはこれらをチェックすることができます:

  • wkhtmltopdf -webkitを使用してhtmlをpdfにレンダリングします。いくつかの注意事項は問題ありません。
  • PhantomJS -[〜#〜]廃止[〜#〜]、使用しないことをお勧めします。
  • Headless Chrome-何よりも優れているのは、それ自体では解決策ではありません。プログラミング言語環境に応じたクライアントモジュールが必要です。

このユーティリティを自分で処理したくない場合は、無料/有料のオンラインサービスがたくさんあります。その一部を以下に示します。

0
Ekin Koc

PDFの生成には注意が必要です。請求書が比較的単純である限り、テンプレートイメージファイルを作成し、imagettftextを使用して文字列を印刷することをお勧めします(または他のライブラリ)。

画像ファイルのPDF変換imagemagickツールスイートを使用できます(サーバーで使用可能な場合):

exec('convert -units \'PixelsPerInch\' -density 150 '.$filename.'.png '.$filename.'.pdf');

私にとっては、アプローチ全体がスムーズに機能しました。

0
meliniak

php-pdf-invoice 作曲家のライブラリ。ライブラリはすでに請求書を生成するように設計されているため、簡単かつ迅速に統合できます!

composer require quickshiftin/php-pdf-invoice

次のようなPDFファイルを生成できます

Here's a sample invoice

READMEに使用例があります。基本的に、2つのインターフェイスを実装します。1つは注文用、もう1つは注文品用です。好みに合わせてフォントと色を設定することもできます。

0
quickshiftin