Anc*_*end 11 php shell shell-exec wkhtmltopdf wkhtmltoimage
我正在尝试设置一个漂亮的HTML到图像插件wkhtmltopdf,我有一个非常困难的时间.
到目前为止我做了什么:
下载了wkhtmltopdf zip包并在我的网站根文件夹中打包了该文件
作为测试,我在index.php文件中包含以下代码,我希望将bbc.com网站的内容保存为我的网站根文件夹中的.jpg图像:
shell_exec('./ wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg');
似乎什么也没发生.PHP 没有在安全模式下运行,所以这不是问题.shell_exec正在执行,我能够使用它创建一个.txt文档.
我已经研究了好几天了,我向任何人提供了100个赏金,可以提出一个明确的,简化的逐步工作指南,介绍如何在Widows上设置wkhtmltopdf以使用PHP运行.
更具体地说,我正在寻找简化的演练如何:
设置wkhtmltopdf使用php在Windows上运行(包括常见问题的详细信息以及如何克服它们).
单击按钮或链接:将"当前"网页打印为pdf,包括所有填写的输入值(包括此部分的示例代码).具有更改页面内容的事件的网页应打印出当前版本的页面,而不是页面的初始状态.
创建.pdf创建的下载链接,onClick上面提到的创建和打印到pdf的相同功能(包括此部分的示例代码).
有点难以弄清楚这里的实际问题是什么,但我做了一个关于让wkhtmltopdf在Windows 7/PHP环境中做出响应的blag post教程.如果您需要更多详细信息,请随时询问 - 我确信这不包括您的问题.
就像我在评论中所说,你的函数调用shell_exec('./wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg');
将失败,因为wkhtmltopdf和wkhtmltoimage是不同的程序并接受不同的命令行选项.在该命令中用wkhtmltoimage替换wkhtmltopdf,您可能会生成一个输出文件.我相信在你的情况下,测试执行shell_exec('c:\wkhtmltopdf\wkhtmltopdf www.google.com goog.pdf 2>> err3.txt 1>> out3.txt');
最有趣,因为你可以看到wkhtmltopdf所做的所有不同的输入/输出.
小智 9
我意识到这是一个老问题,但由于它是我发现的唯一一个从HTML打印到PDF并保留图像和背景颜色的库,我使用Windows命令提示符.我以前使用PDF Architect,但它从来没有能够处理背景颜色.
当您安装wkhtmltopdf时,它将进入c:\ Program Files\wkhtmltopdf \或c:\ Program Files(x86)\ wkhtmltopdf.
假设您有一个本地PHP环境,其中http://localhost/
设置为您的起点.我们还说你有一个名为html_invoice.html的文件,你想将它打印到一个名为dev_invoice_200.pdf的文件中,并将它放在xampp web服务器内的发票文件夹中.为此,您将启动Windows命令提示符(即开始 - >所有程序 - >附件 - >命令提示符或开始 - >运行 - > cmd)并键入:
c:\Program Files\wkhtmltopdf\bin\wkhtmltopdf http://localhost/html_invoice.html c:\xampp\htdocs\invoices\dev_invoice_200.pdf
Run Code Online (Sandbox Code Playgroud)
这将在正确的位置创建PDF.
由于我们使用的是Windows命令提示符,因此没有理由使用PHP.相反,我们可以使用批处理文件,如果我们需要自动化它,我们可以使用Windows任务计划程序来调用批处理文件(开始 - >所有程序 - >附件 - >系统工具 - >任务计划程序).
如果您从未完成批处理文件,只需在纯文本文件中键入要执行的命令,并使用.bat扩展名保存.
因此,假设我们希望始终将文件html_invoice.html在同一位置打印到名为dev_invoice.pdf的发票文件夹中,并且我们将在它到达之后更改名称.您只需将上面的行减去"_200"放入文本文件并将其保存为.bat,然后在Windows中双击它或通过任务计划程序运行它.
归档时间: |
|
查看次数: |
24052 次 |
最近记录: |