WkHtmlToPdf在windows环境下怎么用,php语言实现
发布网友
发布时间:2022-04-23 12:44
我来回答
共1个回答
热心网友
时间:2023-10-13 22:23
安装wkhtmltopdf
# apt-get install wkhtmltopdf
从HTML生成PDF文件的基本语法如下:
# wkhtmltopdf input-file output-file
我们可以从任何网页生成PDF:
# wkhtmltopdf example.com example.pdf
或从本地html文件:
# wkhtmltopdf example.html example.pdf
以上命令只能在Linux box 图形环境中使用。如果我们在一个VPS或专用服务器上生成PDF,如果我们执行该命令,我们将得到从下错误:
wkhtmltopdf: cannot connect to X server
为了解决这个问题,我们需要使用一个名为 xvfb 的工具。
Xvfb是一个 X 服务器,能够运行在没有显示硬件和没有物理输入设备的机器上。它使用虚拟内存来模拟一个mb framebuffer。
回到顶部
安装 xvfb
# apt-get install xvfb
接下来,我们需要创建一个shell脚本:
xvfb-run --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf $*
然后将它保存在 /usr/bin/wkhtmltopdf.sh 下
下一步,我们将创建一个 symbolic 链接,这样我们就可以执行脚本而不用编写的完整路径:
# ln -s /usr/bin/wkhtmltopdf.sh /usr/local/bin/wkhtmltopdf2
让我们尝试执行shell脚本,并看看会发生什么。
# wkhtmltopdf2 example.com example.pdf
Loading page (1/2)
Printing pages (2/2)
Done
好,如果能够正确运行。就可以用以下自定义PHP脚本来生成一个PDF文件。
//Turn on output buffering
ob_start();
echo "<html>";
echo "<head>";
echo "<link href='http://example.com/style.css' rel='stylesheet' type='text/css'>";
echo "</head>";
echo "<body>";
echo "<p>custom HTML to PDF report</p>";
echo "</body>";
echo "</html>";
//return the contents of the output buffer
$html = ob_get_contents();
$filename = date('YmdHis');
//save the html page in tmp folder
file_put_contents("/tmp/{$filename}.html", $html);
//Clean the output buffer and turn off output buffering
ob_end_clean();
//convert HTML to PDF
shell_exec("wkhtmltopdf2 -q /tmp/{$filename}.html /tmp/{$filename}.pdf");
if(file_exists("/tmp/{$filename}.pdf")){
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='{$filename}.pdf'");
echo file_get_contents("/tmp/{$filename}.pdf");
}else{
exit;
}
php wkhtmltopdf怎么实现
接下来,我们需要创建一个shell脚本:xvfb-run --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf 然后将它保存在 /usr/bin/wkhtmltopdf.sh 下 下一步,我们将创建一个 symbolic 链接,这样我们就可以执行脚本而不用编写的完整路径:ln -s /usr/bin/wkhtmltopdf.sh /usr/local/...
window命令行怎么装python wkhtmltopdf
运行 python HelloWorld.py 即可。如果报错 “'python' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”证明你没有设置环境变量。你需要把python安装目录放到环境变量中。我是安装在“D:\Python33”,所以右键“我的电脑”-》属性-》高级环境设置-》高级-》环境变量 在系统变量中找到Path ...
html怎么转换成pdf
1. 使用Python代码:你可以使用Python语言中的pdfkit库来将HTML转换为PDF。首先,确保已经安了pdfkit和wkhtmltop工具。- 安装pdfkit:在终端或命提示符中运行以下命令:`pip install pdfkit`- 安装wkhtmltop工具:你可以从官方网站(https://wkhtmltopdf.org/)下载适合你的操作系统的二进制文件并进行安...
使用wkhtmltopdf.exe工具,HTML转PDF中,html嵌入图片后导致字体加粗问题...
在使用wkhtmltopdf.exe工具的过程中,html图片转PDF嵌入图片后,导致产生的PDF文件中的内容,在当前存在嵌入图片的页面中,所有文字内容全部被加粗显示。请遇到过类似问题... 在使用 wkhtmltopdf.exe工具的过程中,html 图片转PDF嵌入图片后,导致产生的PDF文件中的内容,在当前存在嵌入图片的页面中,所有文字内容全部被加...
使用wkhtmltopdf把html转成pdf,怎么生成书签或目录
× 个人、企业类侵权投诉 违法有害信息,请在下方选择后提交 类别 色情低俗 涉嫌违法犯罪 时政信息不实 垃圾广告 低质灌水 我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0/200 提交 取消 领取奖励 我的财富值 -- 去登录 我的现金 -- 去登录 做任务开宝箱 累计完成 0 个任务 10任务 略略...
windows下odoo怎么安装 wkhtmltopdf
安装好wkhtmltopdf后 这个地方因为我是win10,界面跟你的可能不一样。如果是win7,是在后面加;C:\Program Files\wkhtmltopdf\bin C:\Program Files\wkhtmltopdf\bin是我的安装目录 然后在odoo的配置文件里面加上bin_path=C:\Program Files\wkhtmltopdf\bin 然后重启服务,看是否能渲染出pdf ...
windows下odoo怎么设置 wkhtmltopdf的环境变量
安装好wkhtmltopdf后 这个地方因为我是win10,界面跟你的可能不一样。如果是win7,是在后面加;C:\Program Files\wkhtmltopdf\bin C:\Program Files\wkhtmltopdf\bin是我的安装目录 然后重启服务,看是否能渲染出pdf
wkhtmltopdf 让生成的PDF 横向 纵向页面共存
这是wkhtmltopdf.exe设置横向纵向参数--orientationSetorientationtoLandscapeorPortrait项目实际需要用到生成的pdf同时有一个横向一个纵向我尝试这样操作不行:wkhtmltopdf.exe--ori... 这是wkhtmltopdf.exe设置 横向 纵向参数 --orientationSet orientation to Landscape or Portrait 项目实际需要用到生成的pdf同时有一个...
《html转pdf---wkhtmltopdf踩坑总结》
config=TeX-AMS-MML_HTMLorMML 完美解决 3. 部分css失效 css3中的flex全部失效,所以大家得换一下!当时遇到了一个讲的很好的博客,给大家分享一下,然后再放一个官方文档的链接 博客:https://www.jianshu.com/p/4d65857ffe5e 官方文档:https://wkhtmltopdf.org/usage/wkhtmltopdf.txt ...
使用wkhtmltopdf把html转成pdf,怎么生成书签或目录
轮廓选项 --dump-outline <file> 转储目录到一个文件 --outline 显示目录(文章中h1,h2来定)--outline-depth <level> 设置目录的深度(默认为4)以下是举例(可能需要修改参数,确保页面内有h1标签)wkhtmltopdf.exe --page-size A4 --outline 网页地址 pdf文件名 ...