Hallo,
ich versuche seit Tagen den Inhalt eines Body Feldes Formatiert aus Lotus Notes auszulesen. Dabei geht es mir insbesondere darum, das der Text genauso wie z.B. in einer Mail aussieht. (Tabellen, Inline-Attachments).
Datz habe ich versucht mit Hilfe der COM API ein NotesDokument in MIME zu Konvertieren. Was leider total gescheitert ist. Ich komme an die MIME Entity nicht heran. Sie ist NULL.
Villeicht habe ich auch einen falschen Ansatz gewählt. Ich bin für jeden Tipp Dankbar.
public class NotesRtfExport
{
const string cNotesConvertFormName = "CONVERT_FORM" ;
const string cNotesConvertFieldName = "CONVERT_FIELD" ;
Domino.NotesSession nSession = null ;
Domino.NotesDocument nDoc = null ;
public NotesRtfExport(Domino.NotesSession nSession, Domino.NotesDocument nDoc)
{
this.nSession = nSession ;
this.nDoc = nDoc ;
}
public string GetRtfCode(string nItemName)
{
bool nCurrentMimeEntity = false ; // zwischenspeichern der aktuellen MimeKonfig
Domino.NotesRichTextItem nRtfItem = null ;
Domino.NotesDatabase nConvertDb = null ;
Domino.NotesDocument nConvertDoc = null ;
Domino.NotesRichTextItem nConvertRtfItem = null ;
Domino.NotesItem nConvertMimeItem = null ;
Domino.NotesMIMEEntity nConvertMimeEntity = null ;
string nConvertDocId = "" ;
try
{
nRtfItem = (Domino.NotesRichTextItem)nDoc.GetFirstItem(nItemName);
if (nRtfItem != null)
{
nCurrentMimeEntity = nSession.ConvertMime;
nSession.ConvertMime = true;
nConvertDb = nSession.GetDatabase(@"xxxxxxxxxxxx", @"mail\administ.nsf", true);
nConvertDoc = nConvertDb.CreateDocument();
nConvertDoc.ReplaceItemValue("Form", cNotesConvertFormName);
nConvertRtfItem = nConvertDoc.CreateRichTextItem(cNotesConvertFieldName);
nConvertRtfItem.AppendRTItem(nRtfItem);
nConvertDoc.Save(true, false, true);
nConvertDocId = nConvertDoc.UniversalID;
nConvertDoc = null;
nSession.ConvertMime = false;
nConvertDoc = nConvertDb.GetDocumentByUNID(nConvertDocId);
if (nConvertDoc != null)
{
nConvertMimeItem = nConvertDoc.GetFirstItem(cNotesConvertFieldName);
nConvertMimeEntity = nConvertMimeItem.GetMIMEEntity(); // ist NULL und ich kann nicht weiterarbeiten :-(
}
}
}
catch
{
}
return "";
}
}