Hunte への手紙:
長い間オンラインでお会いしていませんでしたが、hunte なしでは phpuser.com は何の役にも立ちません。私はあなたのサイトの 2 つの記事を転送し、そのうちの 1 つを特別に転載しました。お詫びを申し上げます。
-------------------------------------- ------- ---------
原著者: Pergini 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 の設定経験があることを前提としています)
PDFLib と PDF サポート付きの PHP をインストールします。
要件:
PHP 4.02 http://php.net からダウンロード
PDFLib 3.0.1 http://www.pdflib.com からダウンロード
これこれは、PDFLib3.0.1 と php4 を連携させる方法に関するちょっとした秘密のレシピです: (外国人はとてもユーモラスです^_^)
http://www.php から ext/pdf/pdf.c を直接ダウンロードします。 PDFLib v 3.0.1 をサポートする .net パッチ
ここから PDFLib 3.0.1 をダウンロード http://www.pdflib.com
該当するパッチはここから見つかります http://www.pdflib.com / pdflib/patches.html
PDFLib の構成、作成、インストール
#./configure --enabled-shared-pdflib
#make
#make install
あなた
PHP を構成します
#./configure --with-apxs=/usr/bin/apxs
--with-gd に PDFLib がインストールされます。 - -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,
説明 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 ("無効なクエリ"); $data = mysql_fetch_row ($result);
....
....
mysql_close ($link);
PDF ファイルを生成する
PDF ドキュメントを生成するには、次の手順を実行する必要があります:
PDF ストリームを開き、それをハンドルに関連付けます:
$ pdf = PDF_open();
(オプション) 著者、タイトル、件名などのドキュメント情報を設定します
(オプション) 著者、タイトル、件名などのドキュメント情報を設定します
新しいページを開始します (PDF ファイルは、縦向き、前景など、異なるレイアウトを使用して異なるページを生成できます):
PDF_begin_page($pdf, 595, 842);
(オプション) 設定 Aハイパーリンク:
PDF_add_outline($pdf, "Item ".$data[1]);
フォントの種類、サイズを選択 (pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi) ;)プレゼンテーション モード
X.Y 位置にテキストを挿入します:
pdf_place_image($pdf, $im, 100, 300, 3);
テキスト バッファーを更新し、PDF ストリームを閉じます。
PDF 座標系
PDF ページの一部で文字列や画像を見つけるために必要なこと、
PDF ページの多くの場所で文字列や画像を見つけ、帝国単位を次の形式に変換する必要があります。 DTP ポイント値。
は PDFLIB マニュアルの 45 ページに記載されています:
"... デフォルトの座標系の原点は、 DTP ポイントを使用したページ 単位:
1 pt = 1 インチ /72 = 25.4mm /72 = 0.3528 mm
"
PDF を生成するコード スニペットは次のとおりです。ファイル:
$pdf = PDF_open();
pdf_set_info_author($pdf, "ルカ・ペルジーニ");
PDF_set_info_title($pdf, "FlyStore のパンフレット") ;
pdf_set_info_creator($pdf, "著者を参照");
pdf_set_info_subject($pdf, "FlyStore");
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_close_image ($im);
pdf_ストローク($pdf);
PDF_close($pdf); ;
最後に、この記事は PDF チュートリアルではないことに注意してください。PDF ドキュメントの詳細と使用方法が必要な場合は、
http://www.pdfzone にアクセスしてください。 com/ および http://www.planetpdf.com/
お役に立てば幸いです。