Autor Thema: Convert Richtext to HTML  (Gelesen 5873 mal)

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Convert Richtext to HTML
« am: 06.08.15 - 12:58:53 »
Hallo,
wir müssen die Inhalte von Notes-Richtext Feldern in HTML exportieren.

nun habe ich folgende DB RT2HTML mit Code gefunden

dabei wird folgendes verwendet...
'** HERE'S THE TRICK: you have to open the temporary doc
   '** as a uidoc, and then save and close it.
   '** This will convert all the rich text in our MIME field back to
   '** MIME format (which is why the field had to exist as a valid
   '** MIME field on a valid form in the first place, so Notes will
   '** know to convert it back)
   noteID = RefreshDocFields(newDoc)

das funktioniert auch, sofern es wirklich nur einfacher Text ist
aber wer hat denn schon nur einfachen Text
vielfach wird das gar nicht als HTML konvertiert, sondern bleibt als BASE64 hängen
ein Decode davon liefert dann HTML, der auch nicht immer korrekt ist
vielfach macht er einfach KÄSE...

weiterer Ansatz: DXL mit RegExr, es gibt auch eine Klasse dazu
<item name='RichTextField'><richtext>
<pardef id='1'/>
<p><font style='bold' name='Verdana' pitch='variable' truetype='true'
familyid='20'/>pippo 1 heidi</p>
<p><font name='Verdana' pitch='variable' truetype='true' familyid='20'/>Pippo 2 heidi</p>
<p><font style='bold' name='Verdana' pitch='variable' truetype='true'
familyid='20'/>pippo 3 heidi</p>
<p><font style='bold' name='Verdana' pitch='variable' truetype='true'
familyid='20'/></p>
<table widthtype='fitmargins' refwidth='14.0208in'><tablecolumn width='50%'/><tablecolumn
width='50%'/>
<tablerow>
<tablecell>
<pardef id='2' keepwithnext='true' ke

nun müßte man sich das herausfizeln und umschreiben was man braucht
ist auch nicht ganz ohne und fehleranfällig...

wer hatte denn schon diese Anforderung?
oder gibt es gar ein Tool dafür zu kaufen

Schönen TAG




Driri

  • Gast
Re: Convert Richtext to HTML
« Antwort #1 am: 06.08.15 - 13:03:57 »
Hast Du schon mal versucht, die DB im Browser zu öffnen und das Dokument von dort als HTML-Seite zu speichern ?

Wenn das Ergebnis ausreicht, ließe sich so eine Aufgabe ggf. auch mit Site Grabbern (glaube so hießen solche Tools) automatisieren. Die gibt es teilweise auch als Browser-Plugins, zumindest für Firefox und Chrome habe ich so etwas schon gesehen.

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Re: Convert Richtext to HTML
« Antwort #2 am: 06.08.15 - 13:21:40 »
Hallo,
habe nun weiter gestöbert und folgendes gefunden

hat das schon mal jemand verwendet?

Function GetHtmlFromField(doc As NotesDocument, fieldname As String) As String
    Dim obj
    Set obj = CreateObject("Microsoft.XMLHTTP")
    obj.open "GET", "http://www.metz.dk/shops/tilbud.nsf/0/" + doc.Universalid + "/" + fieldname + "?openfield&charset=utf-8", False, "", ""
    obj.send("")

    Dim html As String
    html = Trim$(obj.responseText)

    GetHtmlFromField = html
End Function

Mitch

  • Gast
Re: Convert Richtext to HTML
« Antwort #3 am: 06.08.15 - 13:38:51 »
Wenn du nur die eine Richtung brauchst, dann würde ich den von Driri genannten URL-Ansatz verwenden. Also genau das, was dein letztes Beispiel macht. Wenn du Nicht-Windows-Systeme unterstützen musst, dann nimm Java statt dem MS-Object.

Das klappt relativ gut.

Problematisch wird es, wenn das auch wieder zurück muss. Also RT als HTML auslesen, extern verarbeiten und wieder zurück in RT umwandeln. Davon sollte man um jeden Preis die Finger lassen. :)

Gruß,

Mitch

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Re: Convert Richtext to HTML
« Antwort #4 am: 06.08.15 - 15:27:14 »
Hallo,
die Function GetHtmlFromField... funktioniert tatsächlich, kaum zu glauben, auch mit komplexem Text...
sogar die Abschnitte werden gemacht, mit JS...

zum Test hab ich das NotesDoc im Browser angezeit, und Quellcode verglichen
einziger Unterschied: die Abschnitte mit JS...

zurück von HTML nach Notes brauchen wir nicht, da wir Notes abbauen, schade eigentlich  :'(

schön war die Zeit..



Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Convert Richtext to HTML
« Antwort #5 am: 14.08.15 - 07:38:17 »
Ja. Um das aber wirklich sicher zu machen solltst du keinen String verwenden um die Response auszulesen. Sondern einen Stream. Wegen der 64K Grenze. Sonst ist dein Text irgendwann einmal abgeschnitten.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz