2011-05-19 7 views
0

TBSライブラリを使用して文書をマージしようとしましたが、MS Word 2007文書を$tbs->LoadTemplate($path_file)で読み込もうとしました。それは動作しません、私はエラーはありませんが、生成されたファイルが壊れています。TinyButStrongクラスとファイル拡張子なし.docxのMS Word 2007文書をロード

には、.docx拡張子のファイルを読み込もうとすると、すべてが正しく機能するため、.docxという拡張子はありません。しかし、私はこの方法では使用できません。私は拡張子なしでファイルを使用する必要があります(ファイルはサーバー上のユーザーによってアップロードされ、拡張子なしで保存され、ファイルをアップロードする機能は変更できません)。

私が知りたいことは、TBSで拡張子なしの.docxをどうすれば開くことができるのですか?

+0

すべてのファイルは.docxの後、$ TBS-> LoadTemplate使用するか、拡張子 –

+0

Iを使用してファイルを格納している場合($のpath_fileを 'docxファイル'。) .docxにファイルを保存することはできません。もし '$ path_file。 '.docx''を使用すると、このファイルが存在しないため動作しません。(存在するファイルは' $ path_file'です。 – Elorfin

答えて

0

問題は、拡張子ファイル(拡張子はデータベースに格納されています)を使用して一時ファイルを作成することで解決されます。 tempを使ってテンプレートを読み込み、直後に削除します。

0

拡張の問題ではなく、フォーマットの問題です。

.docxは、XMLベースのファイル形式です。 TBSはXMLドキュメント内のプレースホルダを扱うことができるため、すべてが問題ありません。単純な検索と置き換えが可能です。

古い.docファイル形式は独自仕様です。その構造は一般に知られておらず、XMLに基づいていません。 XML文書のようなコンテンツを検索して置き換えることはできません。

古い.docファイルでは、おそらく実行できません。

+0

XMLコンテンツ明示的に '$ path_file。 '#word/document.xml''を使用していますが、同じ問題:それは動作しません。 – Elorfin

+0

@Corum .docxファイルか、そうではありませんか?そうでなければ、これは働く機会がありません。 –

+0

はい、ですが、.docxの拡張子がなくなっていません – Elorfin

1

TinyButStrongのOpenTBSプラグインを使ってDocxドキュメントを作成していると思います。

まだベータ版ですが、まだダウンロードできる新しいバージョン1.6.0があります。この最後のバージョンでは、拡張子だけでなく、その中に保存されているサブファイルによってドキュメントタイプを認識することができます。最後に、ドキュメントタイプを強制できるようにする新しいコマンドもあります。

参照:

http://www.tinybutstrong.com/news.php

http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html

関連する問題