我在我的apache中安装PDFlib时无法在我的wordpress应用程序中使用。
我按照教程PHP
进行了操作我仍然执行了以下命令,因为我对安装有另一个疑问:
echo "katleia.com.br localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
我在浏览器上访问我的页面的路线是katleia.com.br/worpress。
但是当我发出命令时:
service apache2 restart
下一个退出错误:
* Restarting web server apache2 [fail]
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 1 of /etc/apache2/conf-enabled/fqdn.conf:
Invalid command 'katleia.com.br', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
有人可以帮我配置PDFlib吗?因为我大约四个小时试图让它在wordpress中工作并没有任何正确的选择。
我已经注意到不想安装wordpress插件。
更新
撤消此命令:
echo "katleia.com.br katleia" | sudo tee /etc/apache2/conf-available/fqdn.conf
UPDATE2
我设法让他停止提出错误,但仍然无效。
我执行了以下命令以便能够重新启动服务器:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
service apache2 restart
这个我的服务器恢复工作,我在一个php文件中添加了这个代码,该文件是在单击按钮进行测试后命名的:
try{
$pdf = new PDFlib();
} catch (Exception $e) {
echo "error: ".$e->getMessage()."<br>";
} finally {
// 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);
}
他没有任何错误,但是当我尝试该文件时找不到任何地方。
UPDATE3
理论上有这个命令可以得到一个输出显示PDFlib正在运行,但是当我在提示符下执行时它没有显示任何内容:
# php -i |grep PDF
PDFlib
PDFlib Support => enabled
PDFlib GmbH Binary-Version => 7.0.5p3
我可以执行此部分工作,忘记添加extension = pdf.so
文件/etc/php5/cli/php.ini
。在我重新启动apache后,他给出了预期的输出。
但它仍然没有出现test.pdf
任何地方。
UPDATE4
try {
$p = new PDFlib();
/* open new PDF file; insert a file name to create the PDF on disk */
if ($p->begin_document("", "") == 0) {
die("Error: " . $p->get_errmsg());
}
$p->set_info("Creator", "hello.php");
$p->set_info("Author", "Rainer Schaaf");
$p->set_info("Title", "Hello world (PHP)!");
$p->begin_page_ext(595, 842, "");
$font = $p->load_font("Helvetica-Bold", "winansi", "");
$p->setfont($font, 24.0);
$p->set_text_pos(50, 700);
$p->show("Hello world!");
$p->continue_text("(says PHP)");
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=teste_do_katleia.pdf");
print $buf;
}
catch (PDFlibException $e) {
die("PDFlib exception occurred in hello sample:\n" .
"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
$e->get_errmsg() . "\n");
}
catch (Exception $e) {
die($e);
}
$p = 0;
$len = mb_strlen($buf, 'ASCII');
exit();
使用上面的代码可以生成一个pdf并在网站上查看它,但这不是我想要的。我想要的是将其保存在一个文件夹中,然后在另一个页面上恢复。 有谁知道我必须改变这段代码才能做到这一点?
答案 0 :(得分:1)
使用上面的代码可以生成一个pdf并在网站上查看它,但这不是我想要的。我想要的是将它保存在一个文件夹
你应该检查begin_document()之前的行中的注释:
/* open new PDF file; insert a file name to create the PDF on disk */
if ($p->begin_document("", "") == 0) {
此外,您应该查看 PDFlib 7教程,第3.1.4章“在内存中生成PDF文档”以获取更多详细信息。
提示:在光盘上创建文件时,不能使用get_buffer(),它从内存中获取PDF数据。 (请参阅API参考,该参考也包含在doc目录中的PDFlib 7包中)