web-dev-qa-db-ja.com

Pythonを使用してWord文書を作成するにはどうすればよいですか?

Pythonを使用してWord文書を作成したいのですが、既存の文書作成コードを可能な限り再利用したいと思います。現在、XSLTを使用して、HTMLファイルを生成しています プログラムで変換 からPDFファイル。ただし、クライアントは同じドキュメントを利用可能にすることを要求していますWord(.doc)形式。

これまでのところ、私はこの問題の解決策を見つけることができなかった。この問題の解決に役立つ可能性のあるオープンソースライブラリ(または* gulp *独自のソリューション)を知っている人はいますか?

注:可能なソリューションはすべてLinux上で実行する必要があります。これによりpywin32がなくなると思います。

41
Huuuze

Pythonを使用してWord文書を作成できるいくつかの方法:

編集:

COMは問題外なので、以下をお勧めします(@kcrumleyの答えに触発されました)。

UNOライブラリを使用してPythonからOpen Officeを自動化し、OOWriterでHTMLファイルを開き、.docとして保存します。

EDIT2:

純粋なPython python-docxプロジェクト があります(これは使用していません)。

36
codeape

python-docx を試しましたが、Python内でdocxを作成および編集できます

25
mbk

1)現在のパイプラインの最後に別のステップを追加したい場合、PDFファイルをWordファイルに変換するためのオプションがいくつかあります。私は試していません 123PDFConverter 、しかし、CNETエディターはそれを推奨します(同じリンク);無料試用版があり、自動化をサポートします。ソフトウェアが実際にどれだけ良いか。

2)codeapeのCOMオートメーションの提案に基づいて、WordをCOMで自動化する場合、Wordで実際のHTMLファイルを開き、「名前を付けて保存」コマンドを呼び出して、DOC= 。

2
Kevin Crumley

pythonでも同様のことをしなければなりませんでした。それはfar私が望むよりも手作業でしたが、pyRTFで作成されたドキュメントはWordとOpenOfficeをクラッシュさせました。そして、私はそれを理解しようとする動機を持っていませんでした。

必要なスタイルでWord文書テンプレートを作成するのが最も簡単ですが(理想的ではありません)。次に、my Pythonは<p>スタイルは、Wordスタイルの後にラベルが付けられます。次に、WordでHTMLファイルを開き、Wordでテンプレートを開きます。 HTMLファイルのすべてのテキストをテンプレートにカットアンドペーストすると、Wordは以前に設定したスタイルに従ってすべてを再フォーマットします。それは私の状況では時折ファイルに機能します。あなたの状況ではうまくいかないかもしれません。ご参考までに。

2
Q R

WordML XMLファイルとして記述し、.docx形式に圧縮できますか?クライアントがOffice 2007にない場合、クライアントに必要なのはWord 2007フィルターのみです。

そこには多くの例があります。

2003年以降、XMLをWordに直接読み込むこともできます。または だから私は言われました

0
lavinio