ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルで PDF ドキュメント関数を使用する方法

php_PHP チュートリアルで PDF ドキュメント関数を使用する方法

WBOY
WBOYオリジナル
2016-07-21 16:01:571208ブラウズ

Hunte への手紙:
長い間オンラインで会っていませんでした。お詫び申し上げます

-------------------------------------- ---- ---
原著者: Peragini Luca (www.phpbuilder.com)
翻訳者: znsoft (http://www.phpease.com)
-------------- --- ----------------------------------
転載する場合は上記の情報をお守りください。そうでない場合はご遠慮ください。再版!

PHP バンドル PDFLIB ライブラリは、おそらく最高の Web パブリッシング プラットフォームです。典型的な使用法のペア:

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

このガイドを通じて、php4 の 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);


?> 最後に、この記事は PDF ドキュメントの詳細と使用法を必要とする場合に注意してください。
http://www.pdfzone .com/ および http://www.planetpdf.com/ にアクセスしてください

お役に立てば幸いです。







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

www.bkjia.com

tru​​e

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

技術記事

Hunte への手紙: 長い間オンラインでお会いしていませんでしたが、hunte なしでは phpuser.com は何の役にも立ちません。私はあなたのサイトに 2 つの記事を転送しましたが、そのうちの 1 つは特に私の意見を表明するために転載しました。申し訳ありません -- ----...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。