ホームページ  >  記事  >  バックエンド開発  >  PHP で HTML を Word に変換する方法の詳細な例

PHP で HTML を Word に変換する方法の詳細な例

不言
不言オリジナル
2018-06-05 14:51:503601ブラウズ

この記事は主にPHPでHTMLワードを変換する方法の関連情報を詳しく紹介しており、PHPでHTMLワードを変換する関連知識を含みます。この記事は非常に詳細に紹介しており、参考値があります

以下のコードです。 HTML を Word に転送するための php を紹介します。 具体的な内容は次のとおりです。

このメソッドは HTML ページのコードを php で記述する必要がありますが、とにかく実行できます。プログラムをご覧ください

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

Word を HTML に変換するための PHP のコードを共有しましょう

完璧な解決策が必要な場合は、Office を PDF または HTML に変換するのが最善です。 Windows オフィス ソフトウェアを使用する場合、libreoffice には API がありません。

まず、com モジュールがオンになっているかどうかを確認します。phpinfo に com_dotnet モジュールがあれば、オンになっていることを意味します。そうでない場合は、php.ini を変更します。

com.allow_dcom = true

前のコメントを削除して再起動すればOKです。はい、PHPの公式Webサイトには、PHP5.4.5より前にはCOMモジュールが組み込まれていたと記載されていますが、実際には、PHP 5.3ではそうではない可能性があります。公式サイトの39ではCOMモジュールは内蔵されていません。

組み込みモジュールではない場合は、ext フォルダーに拡張子がある場合に php.ini に追加します

コードは次のとおりです:

extension=php_com_dotnet.dll

その後、再起動すると 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;);

注:

1. 変換された HTML のソース コードを確認します。かなり乱雑です


2。変換プロセス中に Winword.exe が呼び出されます


3。ページの読み込みが続く場合は、ドキュメントの名前を変更して、再転送してください。

以上がPHP で HTML を Word に変換する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。