ホームページ >バックエンド開発 >PHPチュートリアル >PHP言語でPDFドキュメント機能を使用する方法_PHPチュートリアル

PHP言語でPDFドキュメント機能を使用する方法_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:56:45906ブラウズ

Hunte への手紙:
長い間オンラインで会っていなかったので、ちょっと言葉では言い表せない気分です。Hunte がなければ、phpuser.com は何の意味もありません。そのうちの 1 つを特別に転載させていただきました。お詫びを申し上げます。

------------------------------------------------- ---

原著者: Peragini Luca (www.phpbuilder.com)
翻訳者: znsoft (http://www.phpease.com)
----------------- - ---------------------------------
転載する場合は上記の情報を守ってください。そうでない場合は転載しないでください。
PDFLIB ライブラリにバンドルされている PHP は、おそらく最高の Web パブリッシング プラットフォームです。典型的な使用法のペア:

需要パンフ​​レット

Eコマース納品書


このガイドを通じて、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 をサポートするには、http://www.php.net から ext/pdf/pdf.c のパッチを直接ダウンロードします

ここから PDFLib3.0.1 をダウンロードしてください http://www.pdflib.com

適用可能なパッチはここから見つかります http://www.pdflib.com/pdflib/patches.html


PDFLib を構成、作成、インストールする

#./configure --enabled-shared-pdflib

#make

#make install
/usr/local/lib に PDFLib がインストールされます

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

#作る

#作る インストールする


システムライブラリを更新する

/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 ドキュメントを抽出する

これで、Rufeidi で 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、
主キー (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 ("無効なクエリ")
;

$data = mysql_fetch_row ($result);

....

....

mysql_close ($link);

?>



PDFファイルを生成

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


PDF ストリームを開き、ハンドルに関連付けます:

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

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

新しいページを開始します (PDF ファイルは、縦向き、前景など、異なるレイアウトを使用して異なるページを生成できます):
PDF_begin_page($pdf, 595, 842);
(オプション) ハイパーリンクを設定します:
PDF_add_outline($) pdf, "アイテム ".$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, "ルカ・ペルジーニ");

PDF_set_info_creator($pdf, "著者を見る"); , "FlyStore");

PDF_begin_page($pdf, 595, 842);
PDF_add_outline($pdf, "アイテム ".$data[1]);
pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi) ;
pdf_set_text_rendering($pdf, 0);
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_place_image($pdf, $im, 100, 300, 3);
pdf_ストローク($pdf);

PDF_close($pdf);

?>

最後に、この記事は PDF チュートリアルではないことに注意してください。PDF ドキュメントの詳細と使用方法が必要な場合は、

http://www.pdfzone.com/ および http://www にアクセスしてください。 .planetpdf .com/

お役に立てば幸いです。



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


www.bkjia.com

tru​​e

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

技術記事

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

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