2012-04-12 5 views
3

OpenOfficeやJasperを使ったjavaのような外部プログラムを使わずにPythonから2003互換のdocファイルを生成する必要がありますが、それを行う方法が見つかりませんでした。 docxを作成するのは簡単ですが、問題はないと思われますが、docファイルは別の履歴です。 代わりの方法として、rtfファイルを生成しようとしましたが、ユニコードの非互換性(これを解決するライブラリがあります)と機能の欠如が、私のニーズを満たすことができません。 アドバイスや解決策はありますか?前もって感謝します!Pythonで単語ファイル(.doc)を作成する

+0

Wordを使用できますか? –

+2

2003年は9年前です。人々がdocx形式を受け入れるべき時です。 MSは、もともとそれをサポートしていないオフィスのバージョンでアドオンを利用できるようにしています。 – Marcin

答えて

1

これはバイナリ形式なので、いくつかのオプションがあります。 JODReportsまたはDocmosisは、どちらもOpenOffice上に座っていて、実際のdoc形式のファイルを生成する可能性があります。 Pythonから実行し、必要に応じてパフォーマンスを向上させるためにJavaにブリッジすることもできます。

+0

これは最高の解決策でした。彼はIE8をインストールしてIE7の使用を中止しました... TT – castledom04

4

python generate word documentのgoogleは良い結果をたくさんもたらします。 py docxまたはwin32com.clientのいずれかが有用なライブラリであるようです。

Word 2003でdocxファイルを読むにはyou have to install a plugin

+0

py docxはword 2003と(直接)互換ではないdocxファイルを生成します。 –

+2

Word 2003でdocxファイルを読むこともできます。 –

+0

プロジェクトはマルチプラットフォームなので、LinuxやWindowsからdocファイルを生成する必要があるので、pywin32はオプションではありません。それはdocファイルを作成するための適切なライブラリではないようです...プラグインのインストールが一番の選択肢と思われます...一숨... – castledom04

0

最初にHTMLを生成してから、pandocを自動化してODTに変換できます。次に、PyUNOブリッジを使用して、それをDocに変換します。それはかなり長い鎖ですが、私はそれを行うより良い方法を理解していませんでした。またhttp://wiki.services.openoffice.org/wiki/Pythonを見てください。

私の意見では、.docファイルの仕様はかなり混乱しており、Pythonで直接生成するのは簡単ではありません。 docファイルを書くためのPythonライブラリのいくつかの試みがありましたが、それらは非常に早い段階にあり、あなたに役立たないかもしれません...

+0

プロジェクトではpyuno/openofficeを使用できません。このファイルはPythonコードから生成する必要があります。私は大きな成果を上げてこのソリューションを実装しましたが、システムにインストールされているオープンオフィスの必要性は許されません... :( – castledom04

関連する問題