2010-08-31 35 views
2

好的,所以我在內存中渲染了一個部分視圖控件,該控件生成了我想要訪問PDF呈現器的HTML。渲染器僅將一個字符串作爲參數。我有一個包含我需要到達渲染器的HTML的MemoryStream。C#/。NET:我可以從Stream中獲取一串有效的HTML嗎?

這是我想要做什麼:

  • inStream中是HTML從局部視圖中的MemoryStream。
  • doc是PDF呈現器的一個實例,它接受HTML作爲參數,但僅作爲字符串。
var stream = new StreamReader(inStream); 
var html = stream.ReadToEnd(); 
doc.AddHtml(html); 

的問題是,HTML字符串在任何地方轉義字符,破壞了HTML。

(圖像不再可用)

我現在嘗試用不同的解決方案和產品,以產生從我的web應用程序的PDF文件。我有一個XSL-FO來設置PDF渲染器,它接受Stream作爲參數,並且工作得很好。如果沒有辦法做到這一點,那麼我只會尋找另一種解決方案。我只是好奇,如果有可能的話。

謝謝!

+1

如果HTML字符串包含反斜槓,調試器工具提示會顯示一堆加倍的反斜槓,例如'PUBLIC \\\「 - // W3C ...'。當您打開可視化工具時會出現什麼內容? – 2010-08-31 21:29:15

+0

@ Jeff Everything看起來可以在HTML和Text Visualizer中找到,但是,當我從調試器工具提示中複製該值並將其粘貼到HTML文件並嘗試使用瀏覽器呈現它時,呈現的PDF看起來就像是破損一樣 – 2010-08-31 21:41:56

+1

Same誤解爲http://stackoverflow.com/questions/3551898/ – Timwi 2010-08-31 22:09:18

回答

2

該字符串不包含反斜槓。只有調試器顯示它們。目的是使表示字符串的有效C#語法。誠然,這有點令人困惑。

相關問題