我正在研究一種產生MS Word輸出的產品,方法是生成一個HTML文檔,並在其中嵌入Word CSS和XML魔術的相應位。我現在需要在文檔中嵌入RTF(圖像和樣式文本),因此我正在查看.NET中的多部分HTML生成功能。.NET中的多部分HTML和嵌入式圖像無需磁盤訪問?
我想通過將RTF片段轉換爲內存中的圖像來生成MHTML文檔,然後將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調用(不是文件)來構造輸入。 – 2009-08-26 18:14:20
感謝您的信息。我們從人想在System.Net.Mail MHTML支持有很多的反饋,遺憾的是它沒有被添加了.NET 4.0,但是它的功能爲System.Net.Mail未來版本的名單上相當高。我會把你的情景信息給我們的PM。 – 2009-08-26 21:12:52
更新:我們的團隊正式跟蹤這個未來開發的請求,所以這可能會在System.Net.Mail中以某種方式支持未來。查看NCL博客(blogs.msdn.com/ncl)以獲取有關此功能和其他新功能的更新。 – 2009-08-28 20:52:45