我很难在我的apache中安装PDFlib,以便在我的wordpress应用程序中使用。
我遵循了PHP教程
我仍然执行了以下命令,因为我对安装有另一个疑问:
echo "katleia.com.br localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn它是katolya.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.confUPDATE2
我设法让他停止犯错误,但仍然不起作用。
为了能够重新启动服务器,我执行了以下命令:
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并在网站上查看它,但这不是我想要的。我想要的是将它保存在一个文件夹中,然后在另一个页面上恢复。有人知道我要修改这个代码才能做到这一点吗?
发布于 2016-03-22 14:29:58
使用上面的代码可以生成一个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引用,它也包含在文档目录中的PDFlib 7包中)
https://stackoverflow.com/questions/36154945
复制相似问题