2010-03-19 166 views
8

我試圖將圖像添加到生成的html文檔中嵌入經典ASP頁面。該代碼看起來是這樣的:生成的HTML word文檔不能正確顯示圖像

<% 
    Response.ContentType = "application/msword"  
%> 

<html xmlns:v="urn:schemas-microsoft-com:vml" 
xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns:w="urn:schemas-microsoft-com:office:word"> 

... 

<v:shape id="_x0000_s1030" type="#_x0000_t75" style='position:absolute; 
left:0;text-align:left;margin-left:0;margin-top:17.95pt;width:7in;height:116.85pt; 
z-index:2;mso-position-horizontal:center;mso-position-horizontal-relative:page; 
mso-position-vertical-relative:page'> 
<v:imagedata src="http://xxx/image001.gif" o:title="image001"/> 
<w:wrap anchorx="page" anchory="page"/> 
<w:anchorlock/> 
</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position: 
absolute;z-index:0;left:0px;margin-left:0px;margin-top:24px;width:672px; 
height:156px'><img width=672 height=156 
src="http://xxx/image001.gif" v:shapes="_x0000_s1030"></span><![endif]> 

圖像URL是正確的,並且可以通過瀏覽器查看,但word文檔打開時,圖像有一個紅色的X,並顯示錯誤消息:

圖像無法顯示。您的 計算機可能沒有足夠的內存來打開映像 ,或者映像可能損壞了 。重新啓動您的計算機,然後再打開文件 。如果紅色x 仍然出現,您可能需要刪除 圖像,然後重新插入。

如果我複製html代碼並嘗試在本地機器上打開Word文檔,它會正確顯示圖像。從服務器檢索文檔時它不起作用。這發生在我嘗試添加的任何圖像上。有沒有另外一種方法將圖像添加到可以從asp頁面輸出的html生成的word文檔中?

謝謝。

更新:

的東西,我已經注意到的是,從複製ASP頁Word文檔代碼時,將其粘貼到一個文件和重命名它作爲一個Word文檔,我打開的時候得到這個提示它:

此網頁中的某些文件不在預期的位置。你是否想要下載它們?如果您確定網頁來自可信來源,請單擊是。

如果我點擊是,圖像顯示正常,如果我點擊否,我得到相同的錯誤,如上所述。我在想,因爲Word文檔來自ASP頁面,所以默認安全設置爲不顯示外部項目。我已經嘗試將我的可信站點添加站點URL(它是一個本地Intranet站點)並且作爲一個可信任的位置,但仍然沒有運氣。

+0

您使用的是什麼版本的Word? – 2010-03-20 17:28:43

+0

我正在使用Word 2007. – marekc 2010-03-22 00:36:45

回答

3

您可以嘗試刪除o:title標記。我發現如果那個標籤有字試圖嵌入圖像,但只有在正確的位置纔會這樣做。通過刪除o:title標籤,單詞只會將其視爲鏈接。

+0

太棒了!這有用,謝謝。 – marekc 2010-04-01 05:46:11

0

是由Word 2007生成的所有代碼,還是您手動添加代碼?有趣的是,img標籤沒有斜線來關閉它。

+0

我沒有編寫代碼,但我認爲它是由word生成的(可能是較舊的版本,因爲這是相當舊的應用程序)。 – marekc 2010-03-25 02:17:36

0

我知道這是一個愚蠢的錯誤,但是您是否確保將圖像放在正確的位置以便可以通過網頁訪問?如果您只需在瀏覽器中輸入http://xxx/image001.gif網址,圖像是否顯示?如果沒有,我會說這是你的問題。

+0

該網址絕對正確。 – marekc 2010-03-25 02:16:48

0

確保圖像的URL(位置)是正確的並添加一個斜槓。 如果仍然不起作用,請檢查是否可以顯示來自同一目錄的任何其他圖像。 如果他們這樣做,然後重新上傳圖像,然後再試一次。 如果其他圖像不顯示,並且您確定該URL是正確的,請嘗試編輯圖像目錄和圖像的讀取權限。我無法想象這可能是由權限造成的。

除非在MS Word中生成HTML的具體原因,否則我建議您不要這樣做。即使對於以前從未見過HTML或CSS的人來說,他們既簡單又整潔,學習起來比MS Word更好。

+0

沒有其他圖像的工作,我甚至嘗試使用外部URL在另一臺服務器上的圖像。玩過權限設置後,這似乎也不成問題。 – marekc 2010-03-26 01:41:34

0

是否允許Word 2007訪問互聯網?也許有阻止它的防火牆規則?

+0

禁用防火牆,同樣的問題。 – marekc 2010-03-26 01:43:50

3

走進選項,Web選項(這可能是高級下),取消選中「利用VML用於顯示在瀏覽器圖形」

0

用簡單的一個替換以下行

"<v:imagedata src="............" o:title="image001"/>" 

單行代碼

"<img src="............"/>" 

我相信你會得到結果。 我已經檢查過它。