最速怪談選手権

PHP初心者です。入門書を見て、PDFを構成するというサンプルを打ってたのですが、エラーが出ます。

PDFlibをダウンロードして(本が古かった為そのページが存在せず、自分でPDFlibのサイトを探してPDFlib / PDFlib+PDI / PPS アーカイブファイルのPHPという奴を入れました。)、c:/php/extに入れ、
php.iniでextension=libpdf_php.dllと書き加えました。

プログラムは以下の通りです。


<?php
$objPdf=pdf_new();
pdf_begin_document($objPdf,"","");
pdf_set_info($objPdf,"Author","Yoshihiro Yamada");
$objTmp=pdf_open_pdi($objPdf,dirname(__FILE__)."/template.pdf","",0);
$objPag=pdf_open_pdi_page($objPdf,$objTmp,1,"");
pdf_begin_page_ext($objPdf,10,10,'');
pdf_fit_pdi_page($objPdf,$objPag,0,0,"adjustpage");
$objFnt=pdf_load_font($objPdf,"HeiseiMin-W3","EUC-H","");
pdf_setfont($objPdf,$objFnt,14);
pdf_set_value($objPdf,"leading",20);
pdf_set_text_pos($objPdf,100,600);
pdf_show($objPdf,"サーバサイド技術の学び舎 - WINGS");
pdf_continue_text($objPdf,"http://www.wings.msn.to/");
pdf_end_page($objPdf);
pdf_close($objPdf);
pdf_close_pdi($objPdf,$objTmp);
header("Content-type: application/pdf");
header("Content-disposition: attachment; filename=result.pdf");
print(pdf_get_buffer($objPdf));
pdf_delete($objPdf);
?>

エラーはこんな感じです。

Fatal error: Uncaught exception 'PDFlibException' with message 'Font 'HeiseiMin-W3' with encoding 'EUC-H': Couldn't open CMap file 'EUC-H' for reading (file not found)' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\day07\pdf_create.php:10 Stack trace: #0 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\day07\pdf_create.php(10): pdf_load_font(Resource id #2, 'HeiseiMin-W3', 'EUC-H', '') #1 {main} thrown in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\day07\pdf_create.php on line 10

多分エラー内容からcmap?という奴がいるみたいでサイトで調べてやってみたのですが、初心者にはちょっと難しくて・・・多分こうだと思って、PDFlibのサイトからcmapをダウンロードして適当なフォルダに入れて、上の構文の「$objPdf=pdf_new();」の下に「PDF_set_parameter($objPdf, 'SearchPath', 'C:/php/pdflib/resource/cmap'); 」としました。

すると、プログラムは実行出来たのですが、すごい文字化けで何もわかりません。。。

すいません。わかる方お願い致します。

A 回答 (1件)

文字コードはプログラムとPDFと合っていますか?

    • good
    • 0
この回答へのお礼

すいませんっ。出来ましたっ!

sleipnirでやってたんですが、実行してもすごい文字化けだったのですが、IEやFireFoxで実行したら成功したんですww

でもう一回sleipnirでやったら出来ましたw

何故成功したのか、さっぱりわからないですけど、とりあえず出来ました。ありがとうございます。

PDFlibがバージョンアップしたことで日本語はCMAPとか言う奴を使わなくなったみたいですね。。。

お礼日時:2008/10/20 12:58

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