ホームページ  >  記事  >  バックエンド開発  >  php を使用して PDF ドキュメントを生成する_PHP チュートリアル

php を使用して PDF ドキュメントを生成する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:07:37741ブラウズ

PHP を使用して PDF ドキュメントを生成する

PDFLIB ライブラリにバンドルされている PHP は、最適な Web パブリッシング プラットフォームである可能性があります。典型的な使用例:

要件パンフレット
電子商取引請求書

このガイドを通じて、PHP チュートリアル 4 の PDF 拡張機能を使用して PDF ドキュメントを作成する方法を学ぶことができます。
mysql チュートリアル データを使用した PDF ドキュメントの作成にも重点を置いています。

内容の概要


PDF をサポートする PDFLib 3.0.1 および PHP4.01pl2 をインストールします (注釈: 最新の php4.03pl1 をインストールできます)

PDF ドキュメントを抽出します
(PHP の設定にある程度の経験があることを前提としています)



PDF をサポートする PDFLib と PHP をインストールします。

要件:

PHP 4.02+ http://php.net からダウンロード
PDFLib 3.0.1 http://www.pdflib.com からダウンロード

これは PDFLib3.0.1 と php4 の作成方法に関する小さなチュートリアルです一緒に働きましょう 秘密のレシピ: (外国人はとてもユーモラスです ^_^)

PDFLib v 3.0.1 をサポートするには、ext/pdf/pdf.c のパッチを http://www.php.net から直接ダウンロードします。

PDFLib3 をダウンロードします。 0.1 はここから http://www.pdflib.com
該当するパッチはここから見つけることができます http://www.pdflib.com/pdflib/patches.html

PDFLib を設定、作成、インストールします

#./configure --enabled -shared-pdflib
#make
#make install
PDFLib が /usr/local/lib にインストールされます


PHP を設定します
#./configure --with-apxs=/usr/bin/apxs
-- with -gd --with-pdflib=/usr/local --with-mysql=/usr/local
--with-config-file-path=/etc/httpd --with-zlib-dir=/usr
- - with-ttf=/usr/local/include
--with-jpeg-dir=/usr --with-tiff-dir=/usr
--with-system-regex=yes --enable-debug=no

#make
#make install



システム ライブラリを更新する
/usr/local/lib を /etc/ld.so.conf (ファイル) に挿入する

#/sbin/ldconfig



テストして検証する
今すぐApache を再起動する必要があります
#apachectl restart


pdf Clock.php を httpd ディレクトリ (つまり、Web ディレクトリ) にコピーします...テスト...すべてが正常です。

重要な情報

PHPLIb をフォントで動作させるには、PDFLib マニュアルの UPR セクションに注意する必要があります。
PDFLib でフォントを使用する最も簡単な方法は、PDFlib tar パッケージ内の標準 UPR 記述ファイル (fonts/pdflib.upr) を作業ディレクトリにコピーすることです。

PDF ドキュメントを抽出する
これで、Enclave のような PDF ドキュメントを生成するための条件が準備できました!


この小さな例では、FLYStore 会社の要件パンフレットを生成します。もちろん、カタログ データベース チュートリアルからデータを抽出します。




データベースを準備します
少なくともデータベースの経験があると思いますが、データベースの作成方法とそこにテーブルを挿入する方法を知っておいてほしいと思います。
テーブルカタログの作成:

create table category(
id smallint(8) unsigned DEFAULT '0' NOT NULL,
item varchar(100) DEFAULT '' NOT NULL,
description tinytext,
img_data longblob,
imgname varchar(60) ) ),
imgsize varchar(60),
imgtype varchar(60),
price smallint(8) unsigned DEFAULT '0' NOT NULL,
PRIMARY KEY (id),
KEY item (item(20))
);


MIME ヘッダー情報の送信
コンテンツが正しく表示されるようにするには、正しいヘッダー情報をユーザーのブラウザに送信する必要があります。
PHP では、header 関数を使用してこれを実現できます。以下のコードは、正しい MIME タイプをブラウザに送信します。

header( "Content-type: application/pdf" );
header( "Content-Disposition:attachment; filename=modulo.pdf" );
header( "Content-Description: PHP3 生成データ" );
重要な情報
知っておく必要があるのは、ヘッダー情報を送信する前は何も出力できないということです。よくある間違いは、ファイルの先頭にスペースがあることです。


mysql から数値を取得する

ここでは、簡単なコード スニペットを使用してディレクトリ データからデータを抽出します。

$link = mysql_connect ("127.0.0.1", "flyadm", "flystore")
or die ("接続できませんでした")

mysql_select_db ("flystore", $link);
$result = mysql_query ("SELECT * FROM カタログ", $link)
or die ("無効なクエリ");
....
....
mysql_close ( $link);


?>


PDF ファイルを生成する

PDF ドキュメントを生成するには、次の手順を実行する必要があります:


PDF ストリームを開き、ハンドルに関連付けます。 $pdf = PDF_open();

(オプション) 著者、タイトル、件名などのドキュメント情報を設定します
(オプション) 著者、タイトル、件名などのドキュメント情報を設定します

新しいページを開始します (PDF ファイルは異なるレイアウトにより、縦向き、前景などの異なるページが生成されます...):
PDF_begin_page($pdf, 595, 842)
(オプション) ハイパーリンクを設定します:
PDF_add_outline($pdf, "Item ".$data [1 ]);フォントの種類、サイズを選択します (pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi);) プレゼンテーション モード

X.y 位置にテキストを挿入します:
PDF_show_xy($pdf, "Item : " .$data[1], 100, 700);

または X.Y 位置に画像を挿入します:
pdf_place_image($pdf, $im, 100, 300, 3);

テキスト バッファーを更新して PDF ストリームを閉じます。
PDF 座標系
PDF ページの一部で文字列や画像を見つけるために行う必要があること、
PDF ページの多くの場所で文字列や画像を見つけ、帝国単位を DTP ポイント値に変換する必要があります

。 PDFLIB マニュアルの 45 ページには次のように書かれています:



"... デフォルトの座標系の原点はページの左下隅にあり、単位として DTP ポイントを使用します:
1 pt = 1 インチ /72 = 25.4 mm /72 = 0.3528 mm
"


PDF ファイルを生成するコード スニペットは次のとおりです:

$pdf = PDF_open();
pdf_set_info_author($pdf, "Luca Perugini");
PDF_set_info_title($pdf, "FlyStore のパンフレット");
pdf_set_info_creator($pdf, "著者を見る");
PDF_begin_page($pdf, 595, 842); pdf, "アイテム ".$data [1]);
pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi);
pdf_show_xy($pdf, "FlyStore カタログ 2000"); ,50,780);

PDF_show_xy( $pdf, "項目 : " .$data[1], 100, 700);

PDF_show_xy($pdf, "説明 : " .$data[2], 100, 620);

$im = PDF_open_jpeg($ pdf, "pass4_sml.jpg");
pdf_close_image ($im);
PDF_end_page ($pdf);
PDF_close($pdf)?>





http://www.bkjia.com/PHPjc/444931.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/444931.html

技術記事 PHP を使用して PDF ドキュメントを生成すると、PDFLIB ライブラリにバンドルされた PHP が最適な Web パブリッシング プラットフォームになる可能性があります。典型的な使用例: デマンド パンフレット 電子商取引の請求書 このガイドでは、次のことを学ぶことができます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。