電子書籍の厳選無料作品が豊富!

皆さん宜しくお願いいたします。
PDFlibをインストールしたのですが、サンプルの"hello.php"を実行すると正常にpdfファイルが表示出来ました。
そこで"hello.php"-->"hello_j.php"にコピーして日本語文字を記入して実行したのですが、日本語が文字化けしてしまいます。
私の設定に問題がある事は判っているのですが、全然解決出来ません。色々、参考サイトを見ましたが???の状態です。
*php.iniをSJISから
 mbstring.internal_encoding = EUC-JP
 mbstring.http_output = EUC-JP
に変更してもダメでした。
<PC環境>
 windows xp(sp2)
apache v.2.0.58
php v.5.1.4
何方かご存知の方、ご教授下さい。

A 回答 (2件)

ポイントはフォントの設定です。


フォントをロードする部分で、

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

のかわりに、

$font = PDF_load_font($p, "HeiseiKakuGo-W5", "EUC-H", "");

のようにしてフォントをセットしてあげるだけです。
参考URLの「PDFlib HOWTO」の「FAQ」ページや、PDFlibマニュアル(日本語もあります)から、上記関数の使い方を調べてみられることをお勧めします。

※ なお、PHP のソースの文字コードが SJIS の場合は、当然 "EUC-H" ではなく "SJIS" を指定する必要があります。UTF-8の場合、などの個々の対応もマニュアルを参照ください。

参考URL:http://hykw.tv/comp/pdflib/
    • good
    • 0
この回答へのお礼

okdt様、ご教授頂きありがとうございました。又お礼の返信が遅れた事をお詫びいたします。
・私の質問で肝心の「PDFlib」のバージョンを記載するのを忘れていました、
すみません。<===「PDFlib 7」です。
===============================================================
「PDFlib 7」の説明によると、日本語を表示するにはCMapのインストールが必要との事です。
(これまでの操作結果)
一通りインストールした後に、okdt様ご指摘の様に
$font = $p->load_font("HeiseiKakuGo-W5", "SJIS", "");
にして実行すると下記エラーになります。(EUCも同じ)
PDFlib exception occurred in hello sample: [1552] : Couldn't find encoding 'SJIS'
そこでオリジナル('winansi')にもどすと下記エラーです。
PDFlib exception occurred in hello sample: [2516] : Font 'HeiseiKakuGo-W5' with encoding 'winansi': Metrics data not found
難しいですねーーーー。"hello.php"を雛形にして勉強しようとしているのですが、こんな入り口で悩んでいてはお手上げです。
===============================================================
fontの'HeiseiKakuGo-W5'とは私のPCに存在している事さえ判らない
ので、根本的な素人に解り易いサイトとかご存知でしたら教えていただけないでしょうか。

お礼日時:2006/12/21 03:49

FPDFで日本語を扱う為には、日本語パッチの「mb_patch」を


充てる必要があります。
↓↓↓↓↓
http://surf-style.us
「開発メモ」に記載してあります。

参考URL:http://surf-style.us
    • good
    • 0
この回答へのお礼

tran-tran様、回答ありがとうございました。
すみませんが、PDFlib の質問だったのでFPDFにトライする時に
参考にさせてもらいます。できましたら、「PDFlib 7」の解決策を
ご存知でしたら、よろしくお願いいたします。

お礼日時:2006/12/21 02:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!