2009-06-15 8 views
0

J'essaie d'obtenir le soutien PDFlib en PHP, mais après avoir enfin trouver comment installer PDFlib, je reçois cette erreur:PDFLib donnant une erreur exception non interceptée

Fatal error: Uncaught exception 'PDFlibException' with message 'Function must not be called in 'object' scope' 

En utilisant l'exemple de code sur php.net:

<?php 
// create handle for new PDF document 
$pdf = pdf_new(); 
// open a file 
pdf_open_file($pdf, "test.pdf"); 
// start a new page (A4) 
pdf_begin_page($pdf, 595, 842); 
// get and use a font object 
$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10); 
// print text 
pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750); 
pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50,730); 
// end page 
pdf_end_page($pdf); 
// close and save file 
pdf_close($pdf); 
?> 

Quelqu'un a-t-il une idée de ce qui pourrait être à l'origine de cette situation? J'ai essayé de googler, mais j'ai été incapable de trouver des solutions.

Répondre

1

Quelle version de PDFLib utilisez-vous? Si elle est 6.0 ou plus, essayez ce code:

<?php 
// create handle for new PDF document 
$pdf = PDF_new(); 
// open a file 
PDF_begin_document($pdf, "test.pdf"); 
// start a new page (A4) 
PDF_begin_page_ext($pdf, 595, 842); 
// get and use a font object 
$arial = PDF_load_font($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10); 
// print text 
PDF_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750); 
PDF_show_xy($pdf, "than are dreamt of in your philosophy", 50,730); 
// end page 
PDF_end_page_exit($pdf); 
// close and save file 
PDF_end_document($pdf); 
?> 

Les fonctions pdf_open_file, pdf_begin_page, pdf_findfont, and pdf_close sont tous déconseillés.

0

Ou en "dur" et très pas gentil - essayez de déplacer votre code quelque part à l'échelle mondiale.

0

Veuillez vérifier le chemin où vous créez le fichier. Assurez-vous que le chemin est correct et que l'erreur disparaîtra.

pdf_open_file($pdf, "test.pdf"); 

0

Vérifiez la permission de votre position que vous passez. Le mien est fixé à faire de même. Il devrait avoir une permission d'écriture.

chmod 0777 -R <PATH> 

R est le chemin récursif

est certainement vous stocké dans

pdf_open_file($pdf, "test.pdf"); 

en pdf $.