Home  >  Article  >  Backend Development  >  Detailed examples of how to convert HTML to word in PHP

Detailed examples of how to convert HTML to word in PHP

不言
不言Original
2018-06-05 14:51:503633browse

This article mainly introduces the relevant information of the method of converting html word in PHP in detail, involving the relevant knowledge of converting html word in php. This article introduces it in great detail and has reference value

The following code introduces how to transfer html into word using php. The specific content is as follows:

This has been tested. There are some differences with this method. Okay, the html page code needs to be written in php, but it can run anyway, look at the program

<?php 
class word{
function start(){
ob_start();
echo &#39;<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">&#39;; 
}
function save($path)
{
echo "</html>";
$data = ob_get_contents();
}
function wirtefile($fn,$data){
$fp=fopen($fp,$data);
fwrite($fp,$data);
}
}
$html=&#39;
<table width=600 cellpadding="6" cellspacing="1" style="border:1px solid green;" style="border-collapse:collapse"> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;">姓名</td> 
<td style="border:1px solid green;">性别</td>
<td style="border:1px solid green;">年龄</td>
<td style="border:1px solid green;">爱好</td>
<td style="border:1px solid green;">备注</td> 
</tr> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;">张三</td> 
<td style="border:1px solid green;">男</td>
<td style="border:1px solid green;">32</td>
<td style="border:1px solid green;">足球</td>
<td style="border:1px solid green;">无</td> 
</tr> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;"> 
李四 
</td> 
<td style="border:1px solid green;">男</td><td style="border:1px solid green;">43</td><td style="border:1px solid green;">篮球</td><td style="border:1px solid green;">无</td>
</tr> 
</table> 
&#39;;
//批量生成
//for($i=1;$i<3;$i++){
$word = new word();
$word->start();
$wordname=&#39;个人测试php生成word.doc&#39;;
echo $html;

$word->save($wordname);
header(&#39;Content-type:application/word&#39;);
header(&#39;Content-Disposition: attachment; filename=&#39;.$wordname.&#39;&#39;);
//readfile($wordname);
ob_flush();//每次执行前刷新缓存
flush();
//}
?>

Let me share with you a piece of code php How to convert word to html

If you want a perfect solution to convert office to pdf or html, it is best to use windows office software. Libreoffice cannot convert perfectly, and wps does not have an API.

First confirm whether the com module is enabled. If there is a com_dotnet module in phpinfo, it means it is enabled. If not, modify php.ini.
The code is as follows:

com.allow_dcom = true

Remove the previous comment and restart and it will be OK. The official PHP website says that before PHP5.4.5, the COM module was built-in. In fact, it may not be all the way. In PHP 5.3.39 under the official website, the COM module is Not built in.
If it is not a built-in module, add it to php.ini, provided that your ext folder has the extension

The code is as follows:

extension=php_com_dotnet.dll

Then restart and it will be OK

function word2html($wordname,$htmlname)
{
$word = new COM("word.application") or die("Unable to instanciate Word");
$word->Visible = 1;
$word->Documents->Open($wordname);
$word->Documents[1]->SaveAs($htmlname,8);
$word->Quit();
$word = null;
unset($word);
}
word2html(&#39;D:/www/test/6.docx&#39;,&#39;D:/www/test/6.html&#39;);

Note:

1. The converted HTML, check the source code, it is quite messy

2. Winword.exe will be called during the conversion process

3. If the page keeps loading, reset the document Name it and re-transmit it.

The above is the detailed content of Detailed examples of how to convert HTML to word in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn