1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php使用wkhtmltopdf将html转为pdf

php使用wkhtmltopdf将html转为pdf

时间:2021-02-05 06:50:22

相关推荐

php使用wkhtmltopdf将html转为pdf

首先需要安装wkhtmltopdf插件。安装参考链接:/postedit/103162085

生成pdf选择wkhtmltopdf的原因是,wkhtmltopdf对样式能够很好的体现。mpdf对样式的呈现不足。

php后台代码调用wkhtmltopdf,将静态html转为pdf。

//生成pdf的函数,$html为需要写入到pdf文件里的字符串function generatePdf($html){//将字符串$html里的内容写入到$filename_path文件里,该文件为htmlfile_put_contents("{$filename_path}.html", $html);//wkhtmltopdf将生成的html文件转为相应的pdfshell_exec("wkhtmltopdf -q {$filename_path}.html {$filename_path}.pdf");//判定指定的路径下是否存在相应的pdfif(file_exists("{$filename_path}.pdf")){//设置header信息header("Content-type:application/pdf");//设置下载的文件名称header("Content-Disposition:attachment;filename={$filename}.pdf");//火狐浏览器下文件名设定if (stripos($_SERVER["HTTP_USER_AGENT"], 'Firefox')) {header("Content-Disposition: attachment;filename*={$filename}.pdf");}//safari浏览器默认不支持汉字名,所以safari下文件名设为拼音if (stripos($_SERVER["HTTP_USER_AGENT"], 'Macintosh')) {//通过一个汉字转为拼音的共同函数,获取汉字相应的拼音,参考链接:/postedit$pinyin = new Pinyin();$name_py = $pinyin->getpy($name,true,true) . '\'s ';$filename = '2-' . $name_py;header("Content-Disposition: attachment; filename={$filename}.pdf");}//下载文件到本地echo file_get_contents("{$filename_path}.pdf");//删除下载Pdf产生在服务器上的临时文件unlink("{$filename_path}.pdf");unlink("{$filename_path}.html");}exit;}

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