PHPおよびFPDFを使用したPDFファイルの生成

ほとんどのWebサービスは、将来使用するためにさまざまな形式でデータをエクスポートします。 この記事では、PDF形式でデータをエクスポートする方法について説明します。

多くの人はこれを行う方法を知っていますが、知らない人のために簡単に説明します。



PHPを使用すると、すぐにPDFファイルを生成できます。 FPDFは無料のphpコードで、PDF形式のドキュメントを作成し、それらを使用してさまざまな操作を実行できます。



Pdflib

PHP APIには、 PDFlibに基づいて実装された、PDFを操作するための多数の関数が含まれています 。 それにもかかわらず、このライブラリは商用利用のために無料ではありません。 無料版はPDFlib Liteと呼ばれ、個人での使用は無料ですが、機能には制限があります。 完全なPDFlibライブラリを使用するには、ライセンスを購入する必要があります。



FPDFを選ぶ理由

別の方法は、PDFドキュメントを作成および操作するための多数の関数を含む無料のクラスであるFPDFを使用することです。 この瞬間のキーワードは無料です。 必要に応じて、このクラスをダウンロード、使用、および変更できます。 無料であることに加えて、このライブラリはPDFlibよりもはるかに単純です。 PDFlibを使用するには、PHPの拡張機能としてインストールする必要がありますが、FPDFはプログラムに直接接続できます。



PDFドキュメントを作成する

開始するには、 FPDF WebサイトからFPDFコードをダウンロードし、プログラムに含める必要があります。 たとえば、このように

require( 'fpdf.php');


以下は、ライブラリを使用して簡単なPDFを生成する例です。

新しいFPDFオブジェクトを作成します。

$ pdf =新しいFPDF();


FPDFコンストラクターは次のパラメーターを受け入れます

次に、いくつかのドキュメントプロパティを設定します。

$ pdf-> SetAuthor( 'Lana Kovacevic');

$ pdf-> SetTitle( 'FPDFチュートリアル');


この例ではドキュメント全体に同じフォントを使用しているため、ページを作成する前に設定します

$ pdf-> SetFont( 'Helvetica'、 'B'、20);

$ pdf-> SetTextColor(50,60,100);


SetFont関数には3つのパラメーターがあります。 フォント名、スタイル、サイズ。 太字の20ポイントのHelveticaを使用します。これをドキュメントのタイトルに使用します。

AddFont関数を使用して、他のフォントを使用できます。

SetTextColor関数を使用して、ドキュメント全体のフォントの色を設定します。 色は、RGBまたはグレースケールで表現できます。 この例では、RGB値を使用しています。

主な作業が完了したので、ページの作成を始めましょう。

$ pdf-> AddPage( 'P');

$ pdf-> SetDisplayMode( 'real'、 'default');


「P」または「L」パラメーターをAddPage()関数に渡して、ページの向きを指定できます。 SetDisplayMode関数は、ページの表示方法を決定します。 拡大率とレイアウトのパラメーターを定義できます。 この例では、表示に使用されるプログラムで定義された100%ズームとデフォルトのマークアップを使用します。



ページができたので、ページをより楽しくするために画像を挿入してみましょう。リンクも追加します。 Image関数を使用してFPDFロゴを表示し、ファイル名、寸法、住所という次のパラメーターを渡します。

$ pdf-> Image( 'logo.png'、10,20,33,0、 ''、 'http://www.fpdf.org/');


リンクを追加するには、次のコマンドを使用します

$ pdf->リンク(10、20、33.33、 'http://www.fpdf.org/');


フレーム付きのタイトルを作成します

$ pdf-> SetXY(50,20);

$ pdf-> SetDrawColor(50,60,100);

$ pdf-> Cell(100,10、 'FPDF Tutorial'、1,0、 'C'、0);


SetXY関数は、ヘッダーを表示するポイントのx座標とy座標を設定します。 SetDrawColorは、RGB値を使用して境界線の色を設定します。 その後、Cell関数を呼び出して、ヘッダーのテキストを含む四角形を表示します。 次のパラメーターを関数に渡します:幅、高さ、テキスト、境界線、ln、配置、および塗りつぶし。 境界値0-境界なし、または境界の場合は1。 lnの場合、デフォルト値の0、「C」-中央のテキストの配置、およびfillパラメーターに0を使用します。 最後のパラメーターを1に設定すると、四角形が塗りつぶされ、値が0の場合は透明のままになります。

今、私たちはドキュメントに小さなテキストを書きたいです

$ pdf-> SetXY(10.50);

$ pdf-> SetFontSize(10);

$ pdf-> Write(5、 'おめでとうございます!PDFを生成しました。');


したがって、xとyのテキスト出力座標を設定しますが、今度はSetFontSizeを使用してフォントサイズを縮小します。 Write関数は、テキストをドキュメントに印刷します。 パラメータ5は高さを設定します;テキストに多くの行がある場合にのみ意味があります。

最後に、Output関数を使用して結果を出力します。

$ pdf->出力( 'example1.pdf'、 'I');


ここで、ファイル名と出力パラメーター、この場合は「I」を指定しました。 「I」パラメータは、結果をブラウザに出力します。



したがって、全文:

require( 'fpdf.php');

// FPDFオブジェクトを作成します

$ pdf =新しいFPDF();

//ドキュメントのプロパティを設定します

$ pdf-> SetAuthor( 'Lana Kovacevic');

$ pdf-> SetTitle( 'FPDFチュートリアル');

//ドキュメント全体にフォントを設定します

$ pdf-> SetFont( 'Helvetica'、 'B'、20);

$ pdf-> SetTextColor(50,60,100);

//ページを設定します

$ pdf-> AddPage( 'P');

$ pdf-> SetDisplayMode(real、 'default');

//画像を挿入してリンクにします

$ pdf-> Image( 'logo.png'、10,20,33,0、 ''、 'http://www.fpdf.org/');

//タイトルを枠付きで表示します

$ pdf-> SetXY(50,20);

$ pdf-> SetDrawColor(50,60,100);

$ pdf-> Cell(100,10、 'FPDF Tutorial'、1,0、 'C'、0);

//メインテキストのxとyの位置を設定し、フォントサイズを減らしてコンテンツを書き込む

$ pdf-> SetXY(10.50);

$ pdf-> SetFontSize(10);

$ pdf-> Write(5、 'おめでとうございます!PDFを生成しました。');

//ドキュメントを出力します

$ pdf->出力( 'example1.pdf'、 'I');




ドキュメントの作成方法を学習したので、FPDFを使用して他に何ができるかを見てみましょう。 以下の例は、ドキュメントの上部と下部(ヘッダーとフッター:-))を作成する方法を示しています。

require( 'fpdf.php');

クラスPDFはFPDFを拡張します

{

関数ヘッダー()

{

$ this-> Image( 'logo.png'、10,8,33);

$ this-> SetFont( 'Helvetica'、 'B'、15);

$ this-> SetXY(50、10);

$ this-> Cell(0,10、 'これはヘッダーです'、1,0、 'C');

}

関数フッター()

{

$ this-> SetXY(100、-15);

$ this-> SetFont( 'Helvetica'、 'I'、10);

$ this-> Write(5、 'これはフッターです);

}

}

$ pdf =新しいPDF();

$ pdf-> AddPage();

$ pdf->出力( 'example2.pdf'、 'D');


ご覧のとおり、継承を使用して子クラスを作成し、ヘッダー関数とフッター関数を作成しました。 次に、新しいオブジェクトを作成し、ページをドキュメントに追加しました。 AddPage関数は、ヘッダー関数とフッター関数を自動的に呼び出します。 最後に、値「D」を使用して、受け取った情報をexample2.pdfというファイルに出力します。 この場合、ブラウザはこのファイルの保存を提案します。



そのため、PDFドキュメントの作成の基本を学びました。詳細については、 FPDF Webサイトを使用してください



ロシア語版のZIPおよびTGZドキュメント



All Articles