添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

html转 PDF 用MPDF ,Word转Html  纯PHP的方法暂未找到Word直接转PDF的方法 可以使用 LibreOffice 6.1  (Liunx,win) 皆可使用

文件又大转换又要快就用 https://gitee.com/bandung/Execl_WordTOPDF.git

Html转成PDF

MPDF 6.0 下载地址

https://files.cnblogs.com/files/wlphp/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 有左边距,右边距的都得删掉,不然样式就乱了,速度非常尴尬!!

$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安装的库基本也支持了
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");