[PHP-users 23457]PDFlibについて

Takayuki Shibahara tshiba @ mx.biwa.ne.jp
2004年 10月 7日 (木) 16:15:06 JST


はじめまして。芝原と申します。

環境
MIRACLE LINUX V3.0
apache-1.3.31
PHP-4.3.9
PDFlib-6.0.0p1
※PDFlibはextension=libpdf_php.soとして組込み

以上の環境でPDFを作成しようとしているのですが、
次のプログラム(PHPマニュアルのサンプルを一部変更)を実行
しよとするとエラーが発生します。
-----pdf.php
<?
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_begin_page($pdf, 595, 842);
$font = pdf_findfont($pdf, "Times-Roman", "host", 0);
pdf_setfont($pdf, $font, 30);
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "A PDF document created in memory!", 50, 750);
pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header("Content-type: application/pdf");
header("Content-disposition: inline; filename=test.pdf");
header("Content-length: " . strlen($data));

echo $data;
?>
-----
エラーの内容:
Warning: pdf_open_file() expects exactly 2 parameters, 1 given in
/home/hoge/public_html/pdf.php on line 3
Fatal error: pdf_begin_page(): [2100] PDF_begin_page: Function must not be called in 'object' scope in
/home/hoge/public_html/pdf.php on line 4

エラーの内容から判断して、pdf_open_fileは引数が2ついるところへ、
1つしか指定していないと言われているようですが、pdf_open_fileのマニュアル
には
2つ目の引数はオプションであると書かれています。

PDFlib-5.0.4で試してみましたが、結果は同じでした。
記憶が少し曖昧なのですが、以前PDFlib-5.0.2を使用した際はエラーは
発生しなかったように思います。現在5.0.2はダウンロードできないため、
確認できませんでした。
また、PHPのバージョンを4.3.4、4.3.6で試しても同じでした。

正直PHPの問題なのか、PDFlibの問題なのかの切り分けができていません。
何か解決方法や問題がありそうなところを 御存知の方、よろしくお願いします。 


PHP-users メーリングリストの案内