Autor Thema: Zugriff auf Formatierung von Documents in Lotus Domino durch Java ???  (Gelesen 2532 mal)

Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Hallo,

ich möchte mitHilfe von java auf Documents innerhalb von Lotus Domino zugreifen.

Das klappt auch alles, jedoch kriege ich immer nur den Text ... völlig ohne die Formatierung, wie ich sie in meinem Notes Client sehe.

mein Code sieht zur Zeit so aus :
"
notesExecute.connect(SERVER_NAME, DATABASE_NAME, USER, PWD);
Iterator infos = notesExecute.getDocumentIterator();
Document document = null;
int i = 0;
      while (infos.hasNext())
      {
        try
        {
          document = (Document) infos.next();
          RichTextItem body = (RichTextItem) document.getFirstItem("text");


...
"

Obwohl ich RichTextItems habe, bekomme ich nur Text ... völlig ohne Formatierung.

wer weiß, wie ich die Formatierung zusätzlich bekommen kann ???

Servus,

Breiti

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Hi Breiti,

wenn Du an das RTItem, in dem das Ganze angezeigt werden soll (vermutlich im Web?), mit appendRTItem das auszulesende RTFeld anhängst, sollten sowohl die Bilder als auch die Formatierung mit rüberkommen.

Thomas
+++To be human is more important than to be important!+++

Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Hi, eigentlich wollte ich es vorerst mal auf Platte abspeichern (z.B. als RTF- File).

kennst du eine Möglichkeit, wie ich dies tun könnte ???


Mit appendRTItem hänge ich doch nur 2 RTItems aneinander ... oder irre ich mich da ?

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Hi,
Also da ist mir nur die Möglichkeit bekannt, für ein Item oder RTItem die Eigenschaft saveToDisk zu setzen. Dann wird das Item meines Wissens beim Speichern des Dokuments auf Platte gespeichert.
Damit habe ich mich allerdings auch noch nicht beschäftigt...

Mit append wird natürlich nur ein Item an das andere angehangen.

Thomas
+++To be human is more important than to be important!+++

Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Hi, die Eigenschaft saveToDisk eines Items bewirkt leider nur, daß dieses Item beim Abspeichern des Dokumentes auch gespeichert wird - allerdings im Lotus - system.

Was ich möchte, ist jedoch die völlige Extraktion des Dokumentes auf meine Platte bzw. innerhalb meines Java-programmes zur weiteren Verarbeitung.
Es gibt da jeweils ein RichTextItem "text" welches auch den Text enthält, jedoch nur den Text d.h. völlig ohne Formatierungen.

Marinero Atlántico

  • Gast
NotesRichText Felder haben ein proprietäres Format. Das ist nicht rtf. Sondern etwas sehr spezielles, super-toll abwärtskompatibles (was zwar an sich gut, aber schlecht für die innere Konsistenz des Formats ist) Format mit Problemen bei Tabellen. 
Also musst du den Inhalt erstmal in rtf formatieren.
Hinweise magst du hier finden: http://www.nsftools.com/blog/blog-01-2004.htm. Eintrag 1. Januar.
Du kannst dir das auch als xml rausholen, was aber die Komplexität des Formats selbstverständlich auch nicht veringert.

Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Hmm, das mit dieser Datenbank hatte ich auch schon gefunden, das kann ich leider nicht benutzen, da ich meine Lösung in Java entwickeln muß.

Gibt es denn gar keine Möglichkeit sowas per Java zu machen ???

Marinero Atlántico

  • Gast
Gibt es denn gar keine Möglichkeit sowas per Java zu machen ???
Schwierig. Sehr schwierig.
Was heisst Java? Oder in welchem Client soll das denn dargestellt werden?


Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Naja, es gibt ja eine Lotus Domino API für Java mit Hilfe deren ich sämtliche innerhalb einer Datenbank befindliche Dokumente abfragen kann.  Den Text dieser Documents kann ich ebenfalls extrahieren.
Nur hat der Text dann keine Formatierung.

Ich  will also über Java (ganz normales J2SE) auf den formatietren Text der Documents zugreifen.

Marinero Atlántico

  • Gast
ohne jetzt ironisch klingen zu wollen, aber vielleicht haben du und ich unterschiedliche Vorstellungen von dem Begriff "formatierter Text".
Das ist kompliziert und Lotus benutzt wie gesagt ein proprietäres Format.
Komplizierter wird das ganze nochmal durch Attachments und OLE-Objekte, die da auch drin sind.
Java kann dieses Format nicht. Dh du musst die Information erstmal in was konvertieren was Java rendern kann, wobei "was Java rendern kann" wieder eine falsche Aussage ist.
Swt kann z.B. OLE Objekte einbinden. Swing kann das nicht. Swing kann teilweise html darstellen.
In was für einem Objekt (welche Klasse) von Swing? Awt? Swt? willst du das eigentlich darstellen?

Axel


Offline breiti

  • Frischling
  • *
  • Beiträge: 6
Hmm, java müsste es ja nicht unbedingt rendern sondern nur als byte-stream auf die platte hauen können. Das rendern können ja dann andere programme übernehmen.

Marinero Atlántico

  • Gast
java.io.ObjectOutputstream.writeObject(yourRTObject);

Wird dir aber auch nicht weiterhelfen, fürchte ich.

Sinnvoller erscheint es mir das RichText nach xml auszugeben und dann das irgendwie versuchen zu rendern. RTFelder halte ich persönlich für ein echtes Problem.
Unsere hardcore Java Programmierer brauchten das als html und haben das durch die Notes Http-Engine gejagt und dann intercepted. Hab aber nur mit einem Ohr zugehört und würde es auch nicht sagen, wenn ich es wüßte (weil nicht von mir). Ich weiß nur, dass es auch damit dann eine Menge Probleme gab, die möglicherweise bis zu dem heutigen Tag noch auf eine Lösung warten.
Wenn du etwas gefunden hast, wäre ich sehr interessiert. 
« Letzte Änderung: 06.01.05 - 15:45:40 von Marinero Atlántico »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz