Как конвертировать MIME для CKEditor, чтобы он выглядел так же, как на NotesClient? - PullRequest
0 голосов
/ 24 марта 2020

Я загружаю почту по протоколу POP3, используя JavaCode, после чего сохраняю почту документа:

            Document doc = db.createDocument();

            MIMEEntity body = doc.createMIMEEntity("Body");
            MIMEHeader header;

            for (String key : messages.get(index).getHeaders().keySet()) {
                header = body.createHeader(key);
                header.setHeaderVal(messages.get(index).getHeaders().get(key).get(0));
            }

            if (messages.get(index).getBody().length() > 0) {
                if (body.getContentType().equals("multipart")) {
                    // Create first child MIMEEntity
                    MIMEEntity child = body.createChildEntity();
                    stream.writeText(messages.get(index).getBody());
                    child.setContentFromText(stream, "", body.getEncoding());

                } else {

                    stream.writeText(messages.get(index).getBody());
                    body.setContentFromText(stream, messages.get(index).getHeaders().get("Content-Type").get(0),
                    body.getEncoding());

                }
            }


            stream.close();
            doc.replaceItemValue("Form", "Mail");
            doc.save(true, true);
            doc.closeMIMEEntities(true);

Преобразование MIME в RichText Та же проблема "Я могу выполнить это преобразование с помощью клиента заметок во внешнем интерфейсе (откройте и сохраните документ) без проблем. " Если я открою и сохраню команду do c на клиенте, поля mime для CKEditor будут выглядеть так же, как на клиенте. Тело полей не преобразовано в RichText, и оно хорошо работает для CKEditor.

Я пытался сделать это, добавив код:

session.setConvertMime(true);
RichTextItem rtitem = (RichTextItem)doc.getFirstItem("Body");
if (rtitem!=null) {
  rtitem.compact();
  doc.save(); 
}

И это:

doc.convertToMIME(3);
doc.save(true, true);

Результат не такой, как после сохранения на Notes Client.

Спасибо за любую помощь!

1 Ответ

1 голос
/ 24 марта 2020

В IBM / Lotus есть две совершенно разные процедуры преобразования MIME. Ни один из них не обеспечивает идеальной верности. Если вы хотите получить стабильные результаты с высокоточными конверсиями, есть сторонняя компания под названием Genii Software , которая предоставляет программное обеспечение, которое делает то, что вам нужно. Это не бесплатно, но это может сэкономить вам массу работы.

...