• <menu id="w2i4a"></menu>
  • 首頁(yè) > 慧問(wèn) > 頻道

    Aspose.Words手動(dòng)代碼處理圖片減小Word大小時(shí)的錯(cuò)誤問(wèn)題[Aspose.Words for .NET]

    發(fā)表于2019-05-10 回復(fù):0 查看:2591  |  
    目前文件中有文字及圖片,圖片估計(jì)接近1千5~2千左右,由于文檔中一些圖片是png等格式太大,為了減小word的大小,手動(dòng)代碼處理圖片,將圖片格式處理成jpg然后插入到word文檔中并保存。出現(xiàn)錯(cuò)誤如下: 檢測(cè)到 ContextSwitchDeadlockMessage: CLR 無(wú)法從 COM 上下文 0x211df8 轉(zhuǎn)換為 COM 上下文 0x211f68,這種狀態(tài)已持續(xù) 60 秒。擁有目標(biāo)上下文/單元的線程很有可能執(zhí)行的是非泵式等待或者在不發(fā)送 Windows 消息的情況下處理一個(gè)運(yùn)行時(shí)間非常長(zhǎng)的操作。這種情況通常會(huì)影響到性能,甚至可能導(dǎo)致應(yīng)用程序不響應(yīng)或者使用的內(nèi)存隨時(shí)間不斷累積。要避免此問(wèn)題,所有單線程單元(STA)線程都應(yīng)使用泵式等待基元(如 CoWaitForMultipleHandles),并在運(yùn)行時(shí)間很長(zhǎng)的操作過(guò)程中定期發(fā)送消息。 具體代碼如下: <pre class='brush: csharp'> Document doc = new Document(@"E:\test\source.doc"); NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true, false); Aspose.Words.Drawing.Shape shape = null;<br> for (int i = 0; i < shapes.Count; i++) { shape = (Aspose.Words.Drawing.Shape)shapes[i]; if (shape.IsImage) { System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(shape.ImageData.ToStream());//這里偶爾出現(xiàn)內(nèi)存溢出錯(cuò)誤 bitmap.Save(tempFolder + "\\" + i + ".JPG", System.Drawing.Imaging.ImageFormat.Jpeg); System.GC.Collect(); } }</pre>
    0個(gè)回答

    打破零回復(fù)...

    回復(fù)

    登錄 慧都網(wǎng)發(fā)表評(píng)論

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();