Word インポート機能を CMS に追加したいのですが、唯一の問題は、docx ファイル (Word 2007) を読み取るための適切なライブラリが見つからないようです。
ライブラリは、ドキュメントのコンテンツと、斜体、太字、上付き文字などの基本的なスタイルを抽出できるはずです。
ご協力いただきありがとうございます
Word インポート機能を CMS に追加したいのですが、唯一の問題は、docx ファイル (Word 2007) を読み取るための適切なライブラリが見つからないようです。
ライブラリは、ドキュメントのコンテンツと、斜体、太字、上付き文字などの基本的なスタイルを抽出できるはずです。
ご協力いただきありがとうございます
docx
ファイルは、実際にはドキュメントの XML のコンテナーにすぎません。docx ファイルを解凍し、内部の word フォルダーに移動してから、document.xml に移動できるはずです。これには実際のテキストがあります。しかし、フォントやスタイルなどは docx コンテナー内の他の xml ファイルにあるため、おそらく少しいじって、何が何で、どのように一致させるかを理解したいと思うでしょう (名前空間を使用することから始めましょう)。
しかし、そうです、ファイルを解凍してから、 simplexml を使用して、実際にいじることができるものに変換します。
PHPDocX PROには、.docx (zip) ファイルを読み取り、そこから XHTML (または PDF) を生成できる TransformDoc クラスが含まれています。
...
require_once 'phpdocx_pro/classes/TransformDoc.inc';
$doc = new TransformDoc();
$doc->setStrFile($file->filepath);
$doc->generateXHTML();
$html = $doc->getStrXHTML();
これを行うためのライブラリがありますが、Zend フレームワークで動作する可能性があります。それは phpLiveDocx と呼ば れ ます: http://www.phplivedocx.org/downloads/
コードプレックスフォージhttp://openxmlapi.codeplex.comで読み取りと書き込みの両方をサポートし、 GPLv2でライセンスされているライブラリを見つけました。
または、ライブラリをリクエストしたので、Docvertのようなものを調べたいと思うかもしれません。私はあなたの質問に基づいて見回していましたが、これまでのところ PHP で私のお気に入りです。ファイルの場所という単語を入力すると、属性とすべての優れたものを備えた単純なものに変換されます。
ここに私が見つけた簡単な実用的な解決策があります
http://webcheatsheet.com/php/reading_the_clean_text_from_docx_odt.php
OpenOfficeを使用して docx ドキュメントを odt に変換します。次に、eZ コンポーネントを使用して、解析とインポートを行います。彼らは実際に CMZ eZ Publishでインポートを使用しています。