html转换成word qt,PHP 将HTML转成PDF文件,HTML 转word,Word 转Html

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

Html转成PDF

MPDF 6.0 下载地址

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

f6848f425a171f8e8ba6d24054c50aac.png

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 '

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

//如果用的框架支持命名空间

如果用的不支持命名空间 如TP3.1  还想用最新的PHPWord

下载Composer的命名

require进来,其实用了这个的话laravel支持的composer安装的库基本也支持了

2fe3ba9898a6e0082cc1a498e0719302.png

/**

* @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,但是样式很成问题。。。

!!!

Nodejs 中将html转换成pdf文件

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

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

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

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

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

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

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

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

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

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

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

使用abcpdf将html转换成pdf文件

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

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

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

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

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

随机推荐

你真的了解NSNotificationCenter吗?

一:首先查看一下关于NSNotificationCenter的定义 @interface NSNotificationCenter : NSObject { @package void * __str ...

PHP页面跳转

PHP页面跳转一.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header( ...

Some code changes cannot be hot swapped into a running virtual machine,

翻译一下:不能热交换到运行虚拟机,一些代码变化不能热交换到运行虚拟机,如更改名称或介绍的方法错误运行代码.解决方法:增加.删除类文件或者在一个类中增加.删除方法时,是不能够热部署到服务上的.这时候需要 ...

SocketServer源码学习(一)

SocketServer其实是对socket更高级的封装正如官网上说的:The socketserver module simplifies the task of writing network s ...

Linux网络技术管理及进程管理

OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联 ...

mongodb将时间作为条件查询

db.stock_signal_single.find({"createtime": { "$lt" : ISODate("2019-04-08T00 ...

poj 107 DNA sorting

关于Java的题解,也许效率低下,但是能解决不只是ACGT的序列字符串 代码如下: import java.util.*; public class Main { public static void ...

oracle decode处理被除数为0 的情况

,,a) per from aa; 例如 我的b为(N30+N31+N32+N33+N34+N35+N36+N37+N38) ,,(N33)||'%' WHERE ssrq=''||sssq||'';

《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器

原创文章,欢迎转载.转载请注明:关东升的博客 实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,示例代码如下: button.a ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值