200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > php pdf教程 WkHtmlToPdf在windows环境下怎么用 – PHP基础 – 前端 如何安装php开发环境

php pdf教程 WkHtmlToPdf在windows环境下怎么用 – PHP基础 – 前端 如何安装php开发环境

时间:2022-06-08 02:16:25

相关推荐

php pdf教程 WkHtmlToPdf在windows环境下怎么用 – PHP基础 – 前端 如何安装php开发环境

#apt-getinstallwkhtmltopdf

从HTML生成PDF文件的基本语法如下:

#wkhtmltopdfinput-fileoutput-file

大家可以从任何网页生成PDF:

#example.pdf

或从本地html文件:

#wkhtmltopdfexample.htmlexample.pdf

以上命令只能在Linuxbox图形环境中使用。如果大家在一个VPS或专用服务器上生成PDF,如果大家执行该命令,大家将得到从下错误:

wkhtmltopdf:cannotconnecttoXserver

为了解决这个问题,大家需要使用一个名为xvfb的工具。

Xvfb是一个X服务器,能够运行在没有显示硬件和没有物理输入设备的机器上。它使用虚拟内存来模拟一个dumbframebuffer。

回到顶部

安装xvfb

#apt-getinstallxvfb

接下来,大家需要创建一个shell脚本:

xvfb-run–server-args=”-screen0,1024x768x24″/usr/bin/wkhtmltopdf$*

然后将它保存在/usr/bin/wkhtmltopdf.sh下

下一步,大家将创建一个symbolic链接,这样大家就可以执行脚本而不用编写的完整路径:

#ln-s/usr/bin/wkhtmltopdf.sh/usr/local/bin/wkhtmltopdf2

让大家尝试执行shell脚本,并看看会发生什么。

#example.pdf

Loadingpage(1/2)

Printingpages(2/2)

Done

好,如果能够正确运行。就可以用以下自定义PHP脚本来生成一个PDF文件。

//Turnonoutputbuffering

ob_start();

echo”<html>”;

echo”<head>”;

echo”<linkhref=’/style.css’rel=’stylesheet’type=’text/css’>”;

echo”</head>”;

echo”<body>”;

echo”<p>customHTMLtoPDFreport</p>”;

echo”</body>”;

echo”</html>”;

//returnthecontentsoftheoutputbuffer

$html=ob_get_contents();

$filename=date(‘YmdHis’);

//savethehtmlpageintmpfolder

file_put_contents(“/tmp/{$filename}.html”,$html);

//Cleantheoutputbufferandturnoffoutputbuffering

ob_end_clean();

//convertHTMLtoPDF

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”);

echofile_get_contents(“/tmp/{$filename}.pdf”);

}else{

exit;

}

phpmypdf怎么指定页面添加水印?

在php中要为pdf文件添加水印,如果不想安装其他工具,想使用纯php的方式实现的话,大家可以借助开源免费的 FPDF和 FPDI 库。

FPDF可以用来生成pdf文件,为pdf文件添加文字,图片等等,但是它不能读取现有的pdf文件。

而FPDI则刚好可以用来读取已存在的pdf文件,并且由于这个库是从fpdf继承而来的,整合非常方便。可惜的是,免费的FPDI库还是有一点点限制,不够完美。

以上就是关于php pdf教程以及WkHtmlToPdf在windows环境下怎么用的相关回答,有更多疑问可以加微。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。