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

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的更多相关文章

  1. Nodejs 中将html转换成pdf文件

    Nodejs 中将html转换成pdf文件,Nodejs Convert html into pdf 1. 下载phantomjs.exe,将该文件放在根目录 2. 编写pdf.js文件(在githu ...

  2. OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法

    OpenOffice版本:4.0(Windows.Linux下测试都出现问题) MS Office版本:2007 问题描述 使用OpenOffice将MS的docx文件转换为pdf文件时,docx文件 ...

  3. Linux不用使用软件把纯文本文档转换成PDF文件的方法

    当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些.比如,PDF更适合打印,因为PDF文档有预定义布局.除此之外,还可以减少文档被意外修改的风险. 要将文本文件转换成PDF格式,你要按照 ...

  4. C# 将PowerPoint文件转换成PDF文件

    PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...

  5. 【php导出pdf文件】php将html 导出成pdf文件(MPDF60),支持完美分页,注意是完美!!

    1.使用 MPDF60 包 2.防止中文乱码:修改MPDF/MPDF60/config.php中 $this->autoLangToFont = true; $this->autoScri ...

  6. 使用python把html网页转成pdf文件

    我们看到一些比较写的比较好文章或者博客的时候,想保存下来到本地当一个pdf文件,当做自己的知识储备,以后即使这个博客或者文章的连接不存在了,或者被删掉,咱们自己也还有. 当然咱们作为一个coder,这 ...

  7. 使用abcpdf将html转换成pdf文件

    ABCpdf.NET使用介绍 最新做一个项目需要生成pdf文档以供打印,研究决定使用abcpdf这款组件,先针对其使用方法做一个简单的总结介绍以给有需要的朋友做参考. 一. ABCpdf.NET简单介 ...

  8. C#.net word excel powerpoint (ppt) 转换成 pdf 文件

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  9. C#将文件转成16进制码流写入数据库存起来,访问的时候再还原成PDF文件。

    转自https://blog.csdn.net/liubowei_0312/article/details/53378146 适合将文件写入数据库,远程访问的时候还原1.首先把文件转成十六进制文件流 ...

随机推荐

  1. 银行卡号每隔4位插入空格 (再用户填写银行卡号的时候挺有用的) IE9+

    链接 输入4为数字, 再输入一个数字调试一下就能看懂了 <head lang="en"> <meta charset="UTF-8"> ...

  2. 学习ThinkPHP第一天

    今天开始学习PHP框架了,刚开始学,感觉挺兴奋的,离自己建立自己的博客又仅了一步,在linux环境下配置一定要赋予新创建的文件夹权限: sudo chmod -R 0777   filePath 这样 ...

  3. JS 实战2(邮箱选人功能)

    点击选人打开新的窗口,新窗口中选取之后点击确定将所选内容传给原窗口,并关闭当前窗口 <%@ Page Language="C#" AutoEventWireup=" ...

  4. cocos2dx 3.2 事件机制

    一个sprite的情况 // oneSprite void HelloWorld::touchableSpriteTestOne() { Vec2 origin = Director::getInst ...

  5. oracle之 Oracle归档日志管理

    在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复.这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能了. ...

  6. 什么是HBase(五) HBase的运维工具

    常用工具 文件修复 hbck 文件查看 hfile WAL查看工具 hlog 压缩测试工具 compressTest(字段前缀编码以及block压缩设置后进行测试) 数据迁移工具copyTable 导 ...

  7. git推送报错: No path specified. See 'man git-pull' for valid url syntax或does not appear to be a git repository以及remote: error: insufficient permission for adding an object to repository databa

    本地(windows)代码想推送到linux自己搭建的git服务端,第一步是建立本地与服务端的关联,第二步是本地推送到服务端. 第一步需要看你的本地工程是否从git上clone来的,如果是clone来 ...

  8. 【linux】ls常用参数

    1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 3. 常用参数: -a, –-all 列出目录下的所有文件,包括以 . 开头的隐含文件 -d, –- ...

  9. FastDFS简介和安装

    FastDFS是一个轻量级的开源分布式文件系统 FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进 ...

  10. Windows Installer (MSI)知识学习

    http://www.cnblogs.com/QuitGame/archive/2006/01/10/314589.html 所有的安装过的程序都在C:\Windows\Installer下有缓存