Я работаю над продуктом, который создает вывод MS Word, создавая документ HTML с соответствующими битами Word CSS и встроенной в него магией XML. Теперь мне нужно вставить RTF (изображения и стилизованный текст) в документ, и поэтому я рассматриваю многопотоковые функции генерации HTML в .NET.Многостраничные HTML и встроенные изображения из .NET без доступа к диску?
Я хотел бы сгенерировать документ MHTML, преобразовывая фрагменты RTF в изображения в памяти, а затем просто вставляя данные, закодированные в Base64, непосредственно в объект MHTML. До сих пор я не могу найти .NET-решений для этого.
MS CDO stuff многообещающий, но похоже, что единственный способ создать вложение - предоставить URL-адрес данных и использовать AddRelatedBodyPart(), чтобы добавить его в объект.
Пакет System.Net.Mail также выглядит убедительным (как задокументировано here и в предыдущем вопросе here), но я не вижу простого способа конвертировать сгенерированный почтовый объект в строку - API, похоже, сосредоточиться на отправке почтовых сообщений, а не генерировать файлы.
Прямо сейчас, я продвигаюсь с использованием подхода, который использует CDO и временные каталоги, но я недоволен этим как долгосрочный подход. Любые лучшие предложения?
Фон: Мне нужно сгенерировать Word (и вскоре, Excel) вывод из настольного приложения. MS Office имеет большую поддержку HTML + XML + CSS в качестве формата файла, что означает, что если я могу создать тщательно обработанный HTML-документ, я могу сгенерировать вывод Word. Я предпочитаю это создавать собственный вывод Word по нескольким причинам, не в последнюю очередь потому, что мне также нужно генерировать вывод HTML. Word правильно обрабатывает файлы MHTML, что позволяет использовать однотипное решение для вывода со встроенными изображениями. Итак, я хотел бы динамически генерировать MHTML для потока, используя вызовы API (а не файлы) для построения ввода. –
Спасибо за информацию. У нас было много отзывов от людей, желающих поддерживать MHTML в System.Net.Mail, и, к сожалению, он не добавляется для .Net 4.0, однако он довольно высок в списке функций для будущих выпусков System.Net.Mail.Я передам информацию о вашем сценарии нашему премьер-министру. –
Обновление: наша команда официально отслеживает этот запрос для будущей разработки, поэтому это, вероятно, каким-то образом будет поддерживаться в будущем в System.Net.Mail. Проверьте блог NCL (blogs.msdn.com/ncl) на наличие обновлений этой и других новых функций. –