現代生活において、データの変換と処理は、あらゆる業界が直面しなければならない問題となっています。さまざまな形式のデータが目の前に現れると、互換性のないデータ形式が頻繁に発生します。 Web 開発では、Word ドキュメントが一般的な形式ですが、処理中に Word ドキュメントを HTML 形式に変換する必要が生じることもあります。 Web開発の分野で広く使用されているプログラミング言語の1つであるPHPは、この問題を自然に解決できます。以下では、PHP を使用して Word 文書を HTML 形式のファイルに変換する方法を紹介します。
1. PHPWord を使用して Word を HTML に変換する
PHPWord は、Word ドキュメントを処理するためのオープン ソースの PHP クラス ライブラリであり、PHP コードを使用して Word ドキュメントを作成および編集し、変換することができます。 HTML、PDF、その他の形式に変換します。
Composer を使用してインストールします。コマンドは次のとおりです:
composer require phpoffice/phpword
Word を HTML に変換するには、Word を PHPWord のインスタンスにロードし、PHPWord インスタンスで saveHTML()
メソッドを使用して HTML 形式に変換します。コード例:
require_once __DIR__ . '/vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; // Load the Word document $phpWord = IOFactory::load('example.docx'); // Save the HTML file $htmlWriter = IOFactory::createWriter($phpWord, 'HTML'); $htmlWriter->save('example.html');
HTML を Word に変換する必要がある場合は、PHPWord を使用することもできます。コード例:
require_once __DIR__ . '/vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; // Load the HTML file $phpWord = IOFactory::load('example.html', 'HTML'); // Save the Word document $phpWordWriter = IOFactory::createWriter($phpWord, 'Word2007'); $phpWordWriter->save('example.docx');
2. PHP を使用して Word を HTML に変換する
PHPWord の使用に加えて、PHP 独自の ZipArchive クラスを使用して Word ドキュメントを処理し、HTML に変換することもできます。
まず、Word 文書を XML ファイルとその他のリソース ファイルに解凍する必要があります。ここでは、解凍に ZipArchive クラスを使用します。コード例:
$wordFile = 'example.docx'; $zip = new ZipArchive; if ($zip->open($wordFile) === true) { $tmpdir = '/tmp/myproject/' . uniqid(); mkdir($tmpdir); $i = 0; while (($entry = $zip->getNameIndex($i++)) !== false) { $entryFilename = $tmpdir . '/' . $entry; if (substr($entry, -1) == '/') { mkdir($entryFilename); } else { file_put_contents($entryFilename, $zip->getFromIndex($i - 1)); } } $zip->close(); }
解凍された Word 文書を取得した後、XML ファイルを解析して HTML コードを生成する必要があります。
コード例:
$xmlFile = $tmpdir . '/word/document.xml'; if (file_exists($xmlFile)) { $xml = simplexml_load_file($xmlFile); echo '<html><body>'; foreach ($xml->body->p as $paragraph) { echo '<p>'; foreach ($paragraph->r as $text) { if (isset($text->b)) { echo '<b>' . htmlspecialchars((string)$text->t) . '</b>'; } else { echo htmlspecialchars((string)$text->t); } } echo '</p>'; } echo '</body></html>'; }
3. まとめ
以上は、PHPを利用してWord文書をHTML形式に変換する実装方法です。 Word 文書の操作には PHPWord ライブラリを使用するのが比較的簡単ですが、ZipArchive クラスを使用すると少し手間はかかりますが、Word を HTML 形式に変換する機能もよりよく実現できます。さまざまな方法があるため、タスクを完了するために最も適した方法を選択できます。
以上がPHPでWordをHTML形式のファイルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。