Hallo,
ganz am Anfang wurde gesagt, dass auch RTF eine Option ist -> http://pypi.python.org/pypi/PyRTF/0.45
Wird aber seit 5 Jahren nicht mehr entwickelt... scheint aber zu funktionieren. Na ja, sollte zumindest mit Python 2.x funktionieren. Syntax ist ähnlich ReportLab. Nur so für den Fall, dass sich XML gegen dich durchsetzt.
Gruß, noisefloor
python und dokumente
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
@problembär
Hatte ich auch schon versucht. OOO mit Socket starten ( um eine Verbindung aufzubauen ) und dann sich mit dem Python-Script verbinden. Habe da auch einige Beispiele gefunden. Allerdings bekomme ich da keine Verbindung hin , denn die wird immer abgelehnt. Ach ich weiß auch nicht mehr. Hatte mir das alles irgendwie einfacher vorgestellt.
Das Problem ist nur, das muß so schnell wie möglich fertig werden. Hatte damit nicht gerechnet. Ich bin ja immer noch dafür, das alles per lxml zu steuern. Muß mich eben da noch mehr rein denken, denn gehen muß das auf jeden fall.
Hatte ich auch schon versucht. OOO mit Socket starten ( um eine Verbindung aufzubauen ) und dann sich mit dem Python-Script verbinden. Habe da auch einige Beispiele gefunden. Allerdings bekomme ich da keine Verbindung hin , denn die wird immer abgelehnt. Ach ich weiß auch nicht mehr. Hatte mir das alles irgendwie einfacher vorgestellt.
Das Problem ist nur, das muß so schnell wie möglich fertig werden. Hatte damit nicht gerechnet. Ich bin ja immer noch dafür, das alles per lxml zu steuern. Muß mich eben da noch mehr rein denken, denn gehen muß das auf jeden fall.
Also, das sollte aber zu machen sein. Dazu ein paar Fragen:The Hit-Man hat geschrieben:@problembär
Hatte ich auch schon versucht. OOO mit Socket starten ( um eine Verbindung aufzubauen ) und dann sich mit dem Python-Script verbinden. Habe da auch einige Beispiele gefunden. Allerdings bekomme ich da keine Verbindung hin , denn die wird immer abgelehnt.
- OOo-Version, auf welchem OS?
- Python-Version?
- OOo-Startbefehl?
- Code des Python-Skripts?
- Fehlermeldung?
Gruß
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
Ich habe mir dann doch noch mal ODFPY angeschaut, doch an einer Sache hänge ich dann doch noch rum. Ich habe mir ein Userfield in mein Dokument gebastelt. Das kann ich sogar mit ODFPY auslesen und anzeigen lassen. Nun möchste ich das aber auch setzen können. In der Doku steht, das ich eine Liste übergeben soll, mit den Feldlisten, die ich ändern möchte und die Werte. Das habe ich wie folgt gemacht:
Als erstes übergebe ich den Namen des Feldes und dann den Wert, der gesetzt werden soll, aber bekomme eine Fehlermeldung:
jetzt stehe ich wieder auf dem Schlauch. Hätte ja so einfach sein können. Hat jemand ne Ahnung, warum das so ist?
http://odfpy.forge.osor.eu/manual/text.html
EDIT:
wenn ich das Feld auslese, sieht es so aus ( per ODFPY ):
Code: Alles auswählen
from odf.opendocument import load
from odf import text
from odf.userfield import UserFields
obj = UserFields('vorlage.odt', 'bearbeitet.odt')
# print (obj.list_fields_and_values())
obj.update (['testfeld', 'neue value des testfelds setzen'])
Code: Alles auswählen
File "test.py", line 7, in <module>
obj.update (['testfeld', 'neue value des testfelds setzen'])
File "/usr/local/lib/python2.6/dist-packages/odf/userfield.py", line 161, in update
if data.has_key(field_name):
AttributeError: 'list' object has no attribute 'has_key'
http://odfpy.forge.osor.eu/manual/text.html
EDIT:
wenn ich das Feld auslese, sieht es so aus ( per ODFPY ):
Code: Alles auswählen
[('testfeld', 'string', 'mein_testfeld')]
@The Hit-Man: Der Docstring zu `UserField.update()` sagt, dass ein Dictionary erwartet wird (in der Doku habe ich es auf die schnelle nicht gefunden):
Code: Alles auswählen
In [1358]: UserFields.update?
Type: instancemethod
Base Class: <type 'instancemethod'>
String Form: <unbound method UserFields.update>
Namespace: Interactive
File: /usr/lib/python2.5/site-packages/odf/userfield.py
Definition: UserFields.update(self, data)
Docstring:
Set the value of user fields. The field types will be the same.
data ... dict, with field name as key, field value as value
Returns None
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
Und ich hatte gedacht, eine Liste und ein Dictionary wäre das gleiche gewesen. Naja, danke, es funktioniert ja endlich !!!
The Hit-Man hat geschrieben:Und ich hatte gedacht, eine Liste und ein Dictionary wäre das gleiche gewesen. Naja, danke, es funktioniert ja endlich !!!
Schreit nach Tutorial
the more they change the more they stay the same
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
Habe doch extra nen Python Buch hier liegen. Hatte mich damit nicht weiter beschäftigt, als dort stand, das es fast das gleiche wäre. Abgesehen davon, bin ich eher nen Anfänger im Python Bereich.
Aua, aua! Welches Buch ist denn das nun wieder?The Hit-Man hat geschrieben:Habe doch extra nen Python Buch hier liegen. Hatte mich damit nicht weiter beschäftigt, als dort stand, das es fast das gleiche wäre.
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
Hatte ich mir ausm Netz besorgt. Es ist so weit nicht schlecht, weil alles angeschnitten wird. Der nachteil ist, das es alles nur ganz kurz anschneidet.
@The Hit-Man: Wie *heisst* es denn? Falls es das OpenBook von Galileo ist, lösch es am besten sofort.
Und falls Du das Tutorial aus der Python-Dokumentation noch nicht durchgearbeitet hast, solltest Du das nachholen. Das ist "offiziell", nicht so lang, und deckt die Sprache ganz gut ab. Insbesondere auch so Grundlagen wie die eingebauten Datentypen `list` und `dict`.
Und falls Du das Tutorial aus der Python-Dokumentation noch nicht durchgearbeitet hast, solltest Du das nachholen. Das ist "offiziell", nicht so lang, und deckt die Sprache ganz gut ab. Insbesondere auch so Grundlagen wie die eingebauten Datentypen `list` und `dict`.
-
- User
- Beiträge: 435
- Registriert: Montag 20. Februar 2006, 18:11
- Wohnort: Menden / Sauerland
- Kontaktdaten:
@BlackJack
könnte sein, das es so heißt. Liegt gerade zu Hause und nicht in meinem Büro. Naja, habe mir das ausgedruckt, weil ich lieber was in der Hand habe, als Seiten hin und her zu klicken auf dem Rechner. Ich fand in dem Buch den Abschnitt der wxWidgets und Glade ganz brauchbar. Vielleicht lohnt es sich ja auch in Python, nen paar Webanwendungen zu schreiben.
könnte sein, das es so heißt. Liegt gerade zu Hause und nicht in meinem Büro. Naja, habe mir das ausgedruckt, weil ich lieber was in der Hand habe, als Seiten hin und her zu klicken auf dem Rechner. Ich fand in dem Buch den Abschnitt der wxWidgets und Glade ganz brauchbar. Vielleicht lohnt es sich ja auch in Python, nen paar Webanwendungen zu schreiben.