PHP 将HTML转成PDF文件,HTML 转word,Word 转Html
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP 将HTML转成PDF文件,HTML 转word,Word 转Html,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2676字,纯文字阅读大概需要4分钟。
内容图文
html转 PDF 用MPDF ,Word转Html 纯PHP的方法暂未找到Word直接转PDF的方法 可以使用 LibreOffice 6.1 (Liunx,win) 皆可使用
Html转成PDF
MPDF 6.0 下载地址
http://ys-c.ys168.com/601902915/TgUUjIn7W334U6I58PH/mpdf.rar (复制到浏览器下载)
MPDF6.0 没有用命名空间,7.0 开始使用
require APP_PATH.'Lib/ORG/mpdf/mpdf/mpdf.php'; try{ $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0); $html=file_get_contents("index.html"); $html = str_replace('margin-left:100px;', '', $html);// es //7.0 写法 // $mpdf = new \mPDF(['utf-8', 'A4', 16, '', 10, 10, 15, 1]); $mpdf->SetDisplayMode('fullpage'); $mpdf->autoScriptToLang = true; $mpdf->autoLangToFont = true; $mpdf->WriteHTML($html); $mpdf->Output(); //直接输出到页面 $fileName=APP_PATH.'File/'.uniqid().'.pdf'; //保存到文件 $mpdf->Output($fileName); }catch (Exception $e){ return false; }
样式保存的还是可以的,但是要注意css 里面如果body 有左边距,右边距的都得删掉,不然样式就乱了,速度非常尴尬!!
Html转word
生成的文件得是docx,不然PHPWod读取会失败
/** * @param $form * @param $to * html转word文档 */ public function htmlToWord($form,$to){ $path=APP_PATH."/File/old.html"; $isHave=file_exists($path); if(empty($isHave)){ $this->error("文件不存在!"); } $zhi=file_get_contents($path); //把左边距替换掉 $str1 = str_replace('margin-left:100px;', '', $zhi);// es echo $str1; $this->make($zhi); } private function make($html){ $wordname=uniqid().'.docx'; ob_start(); echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'; @header('Content-type:application/word'); header('Content-Disposition: attachment; filename='.$wordname.''); @readfile($wordname); ob_flush();//每次执行前刷新缓存 flush(); }
Word转Html
//如果用的框架支持命名空间
直接去github上 按照Composer 使用 https://github.com/PHPOffice/PHPWord
如果用的不支持命名空间 如TP3.1 还想用最新的PHPWord
下载Composer的命名
http://ys-c.ys168.com/601902945/TjRTkMn7W334U6IGMP65/vendor.rar.
require进来,其实用了这个的话laravel支持的composer安装的库基本也支持了
/** * @param $from * @return bool|string * word转成Html文件 */ public function wordToHtml($from) { try{ $phpWord = \PhpOffice\PhpWord\IOFactory::load($from); $xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, "HTML"); $fileName=uniqid().".html"; $xmlWriter->save(APP_PATH.'File/'.$fileName); return $fileName; }catch (Exception $e){ return false; } }
LibreOffice 转换用法
自行百度安装 200多MB
//速度很快执行完基本就转换完成了,然后
exec("soffice --headless --convert-to html fuck2.doc php.html");
soffice --headless --convert-to html("想要转换成的文件类型") fuck2.doc("源文件") php.html("转换成的文件")
这个支持的类型就多了,可以直接把word转成pdf,但是样式很成问题。。。
!!!
内容总结
以上是互联网集市为您收集整理的PHP 将HTML转成PDF文件,HTML 转word,Word 转Html全部内容,希望文章能够帮你解决PHP 将HTML转成PDF文件,HTML 转word,Word 转Html所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。