问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

wkhtmltopdf 在使用时,页脚要显示中文,字体设置读取不出

发布网友 发布时间:2022-04-23 12:44

我来回答

1个回答

热心网友 时间:2023-09-26 10:21

安装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;
}追问这个只是基本的使用方法,我碰到的是具体的页脚要显示中文问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果只有铬黑T试剂,能否测定钙离子,如何测定? 金银花茶的做法窍门 怎样制作金银花茶 怎么快速取消订单 有关"听"开头的成语 王卡看腾讯视频不显示免流 大王卡腾讯视频不显示免流 谁给推荐几部国产的好看的、卟幼稚的、新鲜的动画片 好看的、不幼稚的国产动画片有哪些? 太早的不要,要连续动画片 上传速度慢是什么原因? 请教一个关于 wkhtmltopdf 实现 html 转 pdf 的小问题 如何用jabref引用中文文献 求助:怎么把自己的文档做成pdf格式? 苹果电脑上pages文件怎么打开 特殊意义的英文有哪些? 适合34岁女人使用的微信英文名字,查找出的名字有优雅,有品味,成熟不俗气 求一个低调简单有内涵的微信昵称,不要非主流和俗气的,英文的也可以,但要好看一点。 高雅有内涵的微信名字有什么? 微信的英文名字是什么? 英文的微信昵称有什么? 英文微信名有哪些? 有气质的微信女英文名字有哪些? 微信名女生英文有哪些? 英文的微信名有哪些? 微信英语名字 昵称 好听有什么? 好听的英文名微信昵称有哪些? 手机微信设置里的开启横屏模式是什么意思? 有含义的英文名有哪些? 英文好听的名字有哪些? 微信怎么使用横屏看? 我电脑的pdf格式的文件不能打印,点打印之后出现的是there were no pages selected to print,怎么回事? icepdf将PDF电子发票转换成PNG图片出现金额错行(java)? PDF格式文件为何打印不了, 翻译段落 生物医学的personal statement itext抽取中文pdf内容怎么解决 比较分析不同Java程序调试环境的异同和优缺点。 c#中利用Spire.pdf控件加密解密都不让超过10页,怎么处理,才能加密解密任意大小的文件 WkHtmlToPdf在windows环境下怎么用,php语言实现 php wkhtmltopdf怎么实现 求书 organic-inorganic halide perovskite photovoltaics from fundamentals to device architectures 别人欠钱不还没有欠条我该怎么办? 借款不还还没有借条怎么办 朋友借钱不还没欠条怎么办?? 给朋友借钱没打欠条不还怎么办 别人欠我钱,我没有借条,他不还钱,我应该怎么办 借钱没有借条不还怎么办 借钱给别人但是没打欠条,对方也不承认了也不还钱怎么办? 别人借钱不还没有欠条怎么办 别人借钱没有欠条不还钱怎么办