2010-03-19 40 views
0

對我來說,這是相當奇特的。我們最近升級/從Windows Server 2003遷移到2008年,現在似乎使用Doc.AddImageUrl()時無法呈現圖像。 (當保存pdf時,圖像以正確的尺寸顯示,但IE8缺失圖像x顯示)。ABCpdf7使用AddImageUrl不渲染圖像

如果我理解正確,ABCpdf在內部使用IE渲染來處理這類事情。

我們認爲這可能是一個權限問題,但我們已經檢查IE ESC,並且似乎按照他們的建議進行了配置。有其他人遇到過類似的問題嗎?也許需要代碼配置?

不是整個片斷,但ABCpdf7東西:

using (Doc doc = new Doc()) 
     { 
      doc.HtmlOptions.PageCacheEnabled = false; 
      doc.HtmlOptions.UseNoCache = true; 
      doc.HtmlOptions.PageCacheClear(); 
      doc.HtmlOptions.PageCachePurge(); 
      doc.HtmlOptions.UseResync = true; 
      doc.HtmlOptions.ImageQuality = 25; 

      int pageID = doc.AddImageUrl(url + "&guid=" + url.GetHashCode()); 

      while (true) 
      { 
       if (!doc.Chainable(pageID)) 
        break; 
       doc.Page = doc.AddPage(); 
       pageID = doc.AddImageToChain(pageID); 
      } 

    // file saving etc. 
    } 
+1

您是否試圖查看2008年運行的IE瀏覽器中的URL,看它是否正確顯示? – Jakkwylde 2010-03-19 03:21:06

+1

您是否在網絡調試器(例如www.fiddler2.com)中觀看過您的流量,以確保圖像傳輸正確並具有適當的MIME頭文件? – EricLaw 2010-03-19 04:58:47

+0

我們以前正確地完成了這兩件事(並且這是我們在2008年導致IE ESC配置錯誤的原因)。 – ddango 2010-03-19 06:01:22

回答

0

提取的單元測試出碼來測試在若干環境。原來,我們的開發數據庫服務器(這是唯一一個運行2008的服務器)能夠以幾乎完全相同的配置運行單元測試。

這個信息在手,我們能夠縮小它的dll的生產。即使ABCpdf.dll是正確的(32位),一個64位的核心(ABCpdf7ce.dll)正在生產中。

我想因爲組件的核心是COM(iirc),所以我們並沒有拋出任何錯誤。此外,我們能夠從html生成pdf,無圖像,這一事實對我來說很奇怪。

而且,最重要的是,我們的存儲庫中沒有64位dll的記錄,而32位dll位於我們的GAC中。據我所知,核心DLL只用於構建,所以我們從受影響的環境中刪除了這些DLL,看起來狀況良好。