我正在攔截pastetextbox的粘貼事件,以便在粘貼前處理內容。如果它包含表格或圖像等,我需要做一些自定義的東西。如果複製的選擇來自Word 2010並且由混合內容(例如文本和表格/圖像)組成,則Word會以多種格式將剪貼板上的內容放入剪貼板。這些包括HTML和RTF,但我寧願使用WordML。我使用ClipSpy檢查剪貼板上實際放置了哪些格式和數據,「Embed源」格式似乎是包含WordML的格式。我想這可能是開了一個包:從剪貼板獲取Word ML
var stream = Clipboard.GetData("Embed Source") as MemoryStream;
var package = Package.Open(stream);
它拋出一個EndOfStreamException,我想它migth被包裹在別的東西。我可以將流寫入磁盤並使用7-zip打開它,並看到內容如預期。 所以基本上有兩個問題: 是「Embed source」正確的DataObject獲取WordML嗎? 如果是這樣,我該如何反序列化它?