2010-03-19 13 views
8

Sto tentando di aggiungere un'immagine a un documento word html generato incorporato in una pagina ASP classica. Il codice simile a questa:Documento Word HTML generato che non visualizza correttamente l'immagine

<% 
    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]> 

L'URL dell'immagine è corretto e può essere visualizzato attraverso un browser, tuttavia quando il documento di Word si apre, l'immagine ha una x rossa, con il messaggio di errore:

L'immagine non può essere visualizzata. Il tuo computer potrebbe non avere memoria sufficiente per aprire l'immagine, o l'immagine potrebbe essere corrotta. Riavvia il computer e quindi riapri il file. Se appare ancora il rosso x , potresti dover cancellare l'immagine e inserirla di nuovo.

Se si copia il codice html e si tenta di aprire il documento word sul mio computer locale, viene visualizzata correttamente l'immagine. Semplicemente non funziona quando si recupera il documento dal server. Questo succede per qualsiasi immagine che cerco di aggiungere. C'è un altro modo per aggiungere immagini a documenti word generati da html che possono essere emessi da una pagina asp?

Grazie.

Aggiornamento:

Qualcosa che ho notato è che quando si copia il codice documento di parola dalla pagina ASP, incollarlo in un file e rinominarlo come un documento di parola, ottengo questo prompt quando si apre it:

Alcuni dei file in questa pagina Web non si trovano nella posizione prevista. Vuoi scaricarli comunque? Se sei sicuro che la pagina Web provenga da una fonte attendibile, fai clic su Sì.

Se si fa clic su Sì, l'immagine viene visualizzata correttamente, se si fa clic su No, viene visualizzato lo stesso errore descritto sopra. Sto pensando che poiché la parola doc proviene da una pagina ASP, per impostazione predefinita le impostazioni di sicurezza non visualizzano elementi esterni. Ho provato ad aggiungere l'URL del sito (è un sito intranet locale) ai miei siti attendibili e come posizione attendibile in parola, ma ancora senza fortuna.

+0

Che versione di Word stai usando? –

+0

Sto utilizzando Word 2007. – marekc

risposta

3

Si potrebbe provare a rimuovere il tag o: titolo. Ho scoperto che se quel tag è lì la parola prova ad incorporare l'immagine, ma lo farà solo se si trova nella posizione corretta. Rimuovendo il tag o: title, la parola lo considera semplicemente come un collegamento.

+0

Fantastico! Funziona, grazie. – marekc

0

Tutto questo codice è stato generato da Word 2007 o si aggiunge codice a mano? È interessante notare che il tag img non ha una barra per chiuderlo.

+0

Non ho scritto il codice, ma presumo sia stato generato da una parola (probabilmente una versione precedente in quanto si tratta di un'applicazione piuttosto vecchia). – marekc

0

So che è uno stupido errore, ma hai fatto in modo di mettere l'immagine nel posto giusto in modo che sia accessibile dalla pagina web? Se digiti l'URL http://xxx/image001.gif nel tuo browser, viene visualizzata l'immagine? In caso contrario, direi che questo è il tuo problema.

+0

L'URL è sicuramente corretto. – marekc

0

Assicurarsi che l'URL dell'immagine (posizione) sia corretto e aggiungere una barra. Se ancora non funziona, controllare se possono essere visualizzate altre immagini dalla stessa directory. Se lo fanno, carica nuovamente l'immagine e riprova. Se altre immagini non vengono visualizzate e se si è certi che l'URL sia corretto, provare a modificare le autorizzazioni di lettura nella directory delle immagini e nelle immagini. Non riesco a immaginare che potrebbe essere causato da autorizzazioni però.

A meno che non ci sia un motivo molto specifico per generare l'HTML in MS Word, ti consiglio di non farlo. Anche per chi non ha mai visto HTML o CSS prima, sono entrambi molto semplici e ordinati da imparare e possono produrre risultati molto migliori di MS Word.

+0

Nessun'altra immagine funziona, ho persino provato le immagini su un altro server con URL esterni. Dopo aver giocato con le impostazioni di autorizzazione, anche questo non sembra essere il problema. – marekc

0

Word 2007 è autorizzato ad accedere a Internet? Forse c'è una regola del firewall che lo blocca?

+0

Disabilitato il firewall, stesso problema. – marekc

3

Andate in Opzioni, Opzioni Web (che potrebbe essere in Avanzate), deselezionare "Utilizza VML per la visualizzazione della grafica nei browser"

0

sostituire la seguente riga

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

con semplice un riga singola del codice

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

Sono sicuro che otterrete il risultato. L'ho controllato.

Problemi correlati