• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:pdflib /pdi の拡張関数が有効に出来ない)

PDFLib/PDIライブラリを使用したPDF作成でエラーが発生

このQ&Aのポイント
  • PDFLib/PDIライブラリを使用してPDFを作成しようとしていますが、エラーが発生しました。
  • エラーメッセージは「Call to undefined function pdf_new()」で、pdf_new()関数が定義されていないという内容です。
  • php_iniファイルとlibpdf_php.dllファイルの設定は正しく行っていますが、エラーが解消されません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

PHPの場合は $objPdf->begin_document("", ""); の方ですね。 同梱されている hello.php なども参考にするといいと思います。

参考URL:
http://www.infotek.co.jp/pdflib/pdflib/pdflib_nyumon.html
scanfprintf
質問者

お礼

参考URL大変役に立ちました。 ありがとうございました。

その他の回答 (2)

  • NARH
  • ベストアンサー率82% (88/107)
回答No.3

http://jp2.php.net/manual/ja/intro.pdf.php を読むと、 $objPdf=pdf_new(); の書き方は PHP4 の書き方みたいですね。 extension が正しく認識してるかを確認するのなら <?php phpinfo(); とかを表示してみてはどうでしょうか? ローカル環境などでWindowsでPHPのextenionを用意するときは、いつも大変だなぁ。面倒だなぁと思うのですが、PHP本体のコンパイル環境(VC6とかVC9とか,thread-safeとか Non-thread-safe とか)を意識して準備しなければならない事もあって、最初から用意されたもの(PHPのバイナリにバンドルされた物)以外を使おうとするとハマることがあります。 #本番環境や試験環境はLinuxだからいいやと、諦めたこともあります。 #僕は最近Macになったので、その辺は気にしなくなりました。 いずれにしても、dll のロードに失敗した場合は phpinfo(); に出てこないはずなので確認してみることをオススメします。

scanfprintf
質問者

お礼

ご回答ありがとうございました。 真っ先にphpinfoは確認したのですが、extensionが有効になっているかの 確認方法が分からず・・・・初心者で申し訳ございません。 PHPextensionを確認すればいいのでしょうか? そこには、20060613と日付のようなものが記載されていました。 他にextensionという記載があるのは、 Zend Extension、extension_dirと 「mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.」の計4つだけでした。 やはり有効になってextension=libpdf_php.dllが有効になっていないのでしょうか?

scanfprintf
質問者

補足

PHPがVer5.2だったのでVer5.3にして、 そして設定ファイルを最初から設定し直し、 libpdf_php.dllもバージョンが古かったので8にしました。 勘違いしており、phpinfoでextensionという文字列を探していましたが、 PDFで探すと下記になっていましたので、有効になっているようです。 PHPのバージョンが関係しているのかは、今となっては不明ですが・・・・ PDF Support             enabled PDFlib GmbH Binary-Version   8.0.1p8 PECL Version 2.2.0 Revision $Revision: 1.20.2.2 $

回答No.2

ANo.1 です。 すみません。エラーは2行目ですね。 PHP の場合は通常クラスを使う場合と同様に、 $objPdf = new PDFlib(); とするようです。 また3行目については、ANo.1 の通りです。

scanfprintf
質問者

お礼

ご回答ありがとうございました。 PHP5 だと $objPdf = new PDFlib();と書くのですね。・・・ それでもやはり Fatal error: Class 'PDFlib' not found in”C://・・・・” というエラーです。 libpdf.dllのバージョンとPHPのバージョンの問題でしょうか。 もしくはiniファイルが根本的に間違っているか・・・分からない もう少し調べて見ます。 ちなみに教材にしているのは、「10日で覚えるphp5入門教室」 という2005-2007年に出版されていたものです。 会社の後輩から譲り受けました。