首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从CGI脚本启动HTMLDOC?

如何从CGI脚本启动HTMLDOC?
EN

Stack Overflow用户
提问于 2008-11-07 09:07:25
回答 2查看 456关注 0票数 2

我有一个CGI脚本,它从HTML页面生成一个.pdf文件。我的问题是,当从Web浏览器启动时,没有创建.pdf文档。

我到目前为止所做的事:

  • chmod设置设置为(777)
  • 测试了脚本文件上的正常输出,该脚本在命令行在服务器上本地运行时运行良好的
  • .cgi脚本工作

为什么脚本在从web浏览器运行时不能工作?

代码语言:javascript
复制
#!/usr/bin/perl
use LWP::Simple;
use HTML::HTMLDoc;
use CGI;
print "Content-type: text/html\n\n";
print "<html><head><title>test</title></head>";
print "<body>";

my $htmldoc->set_html_content(qq~<html><body>A PDF file</body></html>~);
my $pdf = $htmldoc->generate_pdf() or die($!);
$pdf->to_file('/var/www/tom.pdf');
print "</body></html>";
EN

回答 2

Stack Overflow用户

发布于 2009-05-28 10:41:12

在哪里将生成的文件发送到浏览器?

请注意,您不能在HTML中嵌入PDF;您必须

  • 将该文件放置在web服务器将其交付的位置,并将指向该文件的链接发送到浏览器
  • 或将内容类型设置为application/pdf,然后只返回该文件(其中没有任何HTML标记)。
票数 1
EN

Stack Overflow用户

发布于 2014-10-05 16:05:10

最可能的原因是/var/www不能写到apache (或者您正在使用的任何web服务器),所以如果您从命令行运行它--具有用户的权限--它会成功,但是当从web浏览器调用时,web服务器使用自己(非常有限)的权限运行它,然后写入失败。

您需要首先检查to_file方法的返回代码,以查看写入是否成功,其次,将其写入允许web服务器写入的目录,例如/var/tmp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/271583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档