FPDFを日本語対応させて、PHP-ExcelからPDF出力したときに文字化けせずに出力させるように奮闘したときのメモ。FPDFの日本語対応自体はFPDF-Jのサイトとここのブログを読めば分かる。PHP-ExcelのFPDFで変換している箇所を修正して、変換してみても文字化けが直らず。FPDFを単独で実行すると、日本語も正常に表示できるので、PHP-Excelでは何か特別な対応が必要なのだろうか・・・。やれることはやったので、とりあえず諦め。PHP-Excelで操作して、JODConverterでPDF変換することにした。追記>PHP-ExcelのPDF作成処理はTCPDFを使うように変更になった。ここで書いた記事を参考に。2008この記事の続編。作成したExcelファイルをPDFにも変換できるPHP-Excel。今のバージョンはExcel2007形式とExcel2003までの形式と両方読み込み+書き込みできるので、PHPでExcelを操作するのに最強のライブラリだと思う。ダウンロードはここから。ちなみにinstall.txtには次のように書いてある。2003のOfficeでも2007のファイルを読み書きできるようになる。サンプルプログラムを動かす。ReleasesからPHPExcelをダウンロード。/opt/lampp/lib/php/Testsディレクトリにエイリアスを設定して、Testsは書き込み可能にする。TestsこれでWebからTests内のPHPファイルにアクセスすると、サンプルの動きを確認できる。runall.phpを実行すると全て実行される。いろんなサンプルがあるし、ドキュメントも充実しているのでやりやすい。これで動作確認ができたら、次にやりたいことは、既存のExcelファイルを開いて、特定のセルに値を挿入。これはサンプルの07reader.phpと03formulas.phpを組み合わせれば簡単に実現。日本語を扱う場合はUTF8で挿入する必要あり。PHPファイルの文字コードがUTF8ならOK。最近のバージョンは過去のExcel形式も読み込んだり、書き出したりできる。このライブラリ絶対流行ると思う。---でもPDF変換したときに元のファイルに日本語が含まれていると文字化け。xlsxやxlsで吐き出すと文字化けは起きない。2008環境はCentOS5.2。JREのインストールは前にPunoをインストールしようとして失敗したときの記事を参考に。.bash_profileJODConverterはここからtomcat付きをダウンロード。追記>Office2007形式に対応するために、コンパイルからやってみた記事も参考に。これでJODConverterのサービスが起動するので、http://<サーバ名>:8080/converterにアクセスして起動していることを確認。ポートを空けるのを忘れずに。この段階ではOpenOffice.orgのサービスを起動してないので変換はできない。OpenOffice.orgはここから最新版をダウンロード。SDKとかUNOではなく、まるっとインストールするために「RPM,JREなし」を選択。*.rpmインストール後は/opt/openoffice.org3/に配置される。OpenOffice.orgをサービスとして起動。2008土日は社員旅行で渥美半島の先端まで行ってきました。詳細スケジュールは公式ブログの方で。他の社員のブログでも書いてありますが、今回の目玉はなんといっても社員同士の電撃結婚発表。