前提
以下のインストール手順では「/usr/loca/lib/php/pfg/」にインストールすることを前提
として記述します。
準備
以下のライブラリを準備します。
インストール設定作業
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