前提
以下のインストール手順では「/usr/loca/lib/php/pfg/」にインストールすることを前提
として記述します。

準備
以下のライブラリを準備します。
No ライブラリ名 機能 ダウンロードサイト ファイル
1 FPDF PDF生成ライブラリ http://fpdf.org fpdf153.tgz
2 FPDI インポート拡張ライブラリ http://fpdi.setasign.de fpdi102beta.zip
3 japanese.zip 日本語のようなマルチバイト文字サポート http://www.fpdf.org/download/japanese.zip japanese.zip

インストール設定作業
1.パス設定
 /usr/local/lib/php.ini ファイルの編集
 include_path = "....ほかのパス:/usr/loca/lib/php/pdf"
 設定後はApacheを再起動

2.FPDFのインストール
 $ tar xvfz fpdf153.tgz
 $ sudo cp -R fpdf153/fpdf.php fpdf153/font /usr/local/lib/php/pdf/
 $ sudo ln -s /usr/local/lib/php/pdf/font/helvetica.php /usr/local/lib/php/pdf/

3.FPDIのインストール
 $ unzip fpdi102beta.zip
 $ sudo cp fpdi1.02beta/*.php /usr/local/lib/php/pdf/

4.japanese.zipのインストールと設定
 # unzip japanese.zip
 # cp japanese.php /usr/local/lib/php/pdf

japanese.phpを書き換える
// require('fpdf.php');             // 削除
require('fpdi.php');                // 追加
//class PDF_Japanese extends FPDF   // 削除
class PDF_Japanese extends FPDI     // 追加
//$name='KozMinPro-Regular-Acro';   // 削除
$name='MSGothic';                   //追加



6-1.サンプルソース テンプレート無し
 PHPソースは「UTF-8」で保存する必要がありますのでご注意下さい。
<?php
// pdf01.php ----------------------------------------------
// PDF用モジュール呼び出し
require('japanese.php');
// 自スクリプトの文字コード
define(SC_CHAR, "UTF8");
// インスタンス作成
$pdf = new PDF_Japanese();
// SJISフォント(MSPGothicを使用)
$pdf->AddSJISFont();
// 書き込み開始
$pdf->Open();
// ページを追加(新規ページ)
$pdf->AddPage();
// フォントのセット ※SJIS(MSPGothic)でフォントサイズ9
$pdf->SetFont('SJIS', '', 9);
// PDF書込み ※$pdf->Text(x座標, y座標, テキスト);
$pdf->Text(0, 10, sjis_conv("テスト"));
// PDFをブラウザに送信
$pdf->Output();
// 文字コードSJIS変換(japanese.phpで使用出来る文字コードはSJISのみ)
function sjis_conv($conv_str) {
return (mb_convert_encoding($conv_str, "SJIS", SC_CHAR));
}
?>

6-2.サンプルソース テンプレート有り
 PHPソースは「UTF-8」で保存する必要がありますのでご注意下さい。
<?php
// pdf02.php ----------------------------------------------
// PDF用モジュール呼び出し
require('japanese.php');
// 自スクリプトの文字コード
define(SC_CHAR, "UTF8");
// テンプレートPDF
define(TMPL_PDF, "tmpl.pdf");
// インスタンス作成
$pdf = new PDF_Japanese();
// SJISフォント(MSPGothicを使用)
$pdf->AddSJISFont();
// 書き込み開始
//$pdf->Open();
// PDFを読み込んでページ数を取得
$pageno = $pdf->setSourceFile(TMPL_PDF);
// ページ番号よりIDを取得
$tplidx = $pdf->ImportPage(1);
// ページを追加(新規ページ)
$pdf->AddPage();
// フォントのセット ※SJIS(MSPGothic)でフォントサイズ9
$pdf->SetFont('SJIS', '', 9);
// テンプレート内容の位置、幅を調整 ※useTemplateに引数を与えなければ100%表示がデフォルト
$pdf->useTemplate($tplidx);
// PDF書込み ※$pdf->Text(x座標, y座標, テキスト);
$pdf->Text(0, 10, sjis_conv("テスト"));
// PDFをブラウザに送信
$pdf->Output();
// 入力してPDFファイルを閉じる
$pdf->closeParsers();
// 文字コードSJIS変換(japanese.phpで使用出来る文字コードはSJISのみ)
function sjis_conv($conv_str) {
return (mb_convert_encoding($conv_str, "SJIS", SC_CHAR));
}
?>

7.数字ような右詰文字を表現する場合の定義
-- Sample --
$pdf->SetTextColor(0,0,0);           // 文字色:Black
$pdf->SetXY(50.5,105);               // 座標(X軸,Y軸)
$pdf->CELL(29.5,6,"600,000",0,1,R);

Cell関数を使います。引数は以下の通り
表示文字 境界線 境界線文字(この引数がよくわからない) 配置
29.5 6 600,000 0:無 1:有 1:有 L:左 C:中央 R:右
















最終更新:2008年03月03日 11:47