Maison  >  Article  >  développement back-end  >  Exemples détaillés de comment convertir du HTML en Word en PHP

Exemples détaillés de comment convertir du HTML en Word en PHP

不言
不言original
2018-06-05 14:51:503633parcourir

Cet article présente principalement les informations pertinentes sur la méthode de conversion de mot html vers et depuis PHP en détail avec des exemples. Il implique les connaissances pertinentes sur la conversion de mot html en php. Cet article le présente de manière très détaillée et a une valeur de référence<.>

Le morceau de code suivant présente comment transférer du HTML vers Word en utilisant php. Le contenu spécifique est le suivant :

Ceci a été testé. Il y a quelques différences avec cette méthode. D'accord, le code de la page html doit être écrit en php, mais il peut au moins s'exécuter, regardez le programme

<?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();
//}
?>

Laissez-moi partager avec vous un paragraphe ci-dessous Code PHP pour réaliser la méthode de conversion de Word en HTML

Pour résoudre parfaitement le problème de la conversion d'Office en PDF ou html, il est préférable d'utiliser le logiciel Windows Office. Libreoffice ne peut pas convertir parfaitement et wps n'a pas d'API.

Confirmez d'abord si le module com est activé. S'il y a un module com_dotnet dans phpinfo, cela signifie qu'il est activé. Sinon, modifiez php.ini.

Le code est le suivant :
.

com.allow_dcom = true

Supprimez le commentaire précédent et redémarrez et tout ira bien. Le site officiel de PHP dit qu'avant PHP5.4.5, le module COM est intégré. ce n'est pas nécessairement le cas. Dans PHP 5.3.39 sur le site officiel, le module COM n'est pas intégré.

S'il ne s'agit pas d'un module intégré, ajoutez-le au php.ini, à condition d'avoir l'extension dans votre dossier ext

Le code est le suivant :

extension=php_com_dotnet.dll

Puis redémarrez et tout ira bien

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;);

Remarque :

1. Vérifiez le code source du code HTML converti, il est assez compliqué


2. Winword.exe sera appelé pendant le processus de conversion

.

3. Si la page continue de se charger, renommez le document, puis convertissez-le à nouveau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn