6

私のポイントは、ポッド(appyフレームワークから使用するのは面倒です)またはOpenOffice UNOブリッジのいずれかを使用することです。これは、間もなく廃止されるようであり、スクリプトの起動中にOOo.orgを実行する必要があります。 。

誰かが私に、もう一度自分でコーディングしなくても、シンプルでありながらクリーンなODT(テーブルが私の優先事項です)を作成するためのきちんとした方法を教えてもらえますか?

編集:私は必要なことを実行しているように見えるODFpyを試してみています。これについては後で詳しく説明します。

4

2 に答える 2

7

odfpyでのマイレージは異なる場合があります。私はそれが気に入らなかった-OpenOfficeで作成されたテンプレートODTを使用し、contents.xmlをziplibとelementtreeで操作し、それを更新することになった。(あなたの場合、関連するテーブル行とテーブルセルノードのみが作成されます)、次にすべてを記録し直します。

これは実際には簡単ですが、ElementTreeをXML名前空間で適切に機能させるためです。(それはひどく文書化されています)しかし、それは行うことができます。例はありません、ごめんなさい。

于 2011-04-02T03:26:23.953 に答える
5

odtファイルを編集するには、私の答えは役に立たないかもしれませんが、新しいodtファイルを作成する場合は、PyQt4でQTextDocument、QTextCursor、およびQTextDocumentWriterを使用できます。odtファイルへの書き込み方法を示す簡単な例:

>>>from pyqt4 import QtGui
# Create a document object
>>>doc = QtGui.QTextDocument()
# Create a cursor pointing to the beginning of the document
>>>cursor = QtGui.QTextCursor(doc)
# Insert some text
>>>cursor.insertText('Hello world')
# Create a writer to save the document
>>>writer = QtGui.QTextDocumentWriter()
>>>writer.supportedDocumentFormats()
[PyQt4.QtCore.QByteArray(b'HTML'), PyQt4.QtCore.QByteArray(b'ODF'), PyQt4.QtCore.QByteArray(b'plaintext')]
>>>odf_format = writer.supportedDocumentFormats()[1]
>>>writer.setFormat(odf_format)
>>>writer.setFileName('hello_world.odt')
>>>writer.write(doc) # Return True if successful
True

QTextCursorは、テーブル、フレーム、ブロック、画像を挿入することもできます。詳しくは。詳細については、http: //qt-project.org/doc/qt-4.8/qtextcursor.htmlをご覧ください。

ボーナスとして、QPrinterを使用してPDFファイルに印刷することもできます。

于 2012-10-04T14:34:35.947 に答える