Сгенерированный документ HTML word не отображает изображение правильно

Я пытаюсь добавить изображение в созданный документ html word, который встроен в классическую страницу ASP. Код выглядит примерно так:

<%
    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 на своем локальном компьютере, он отобразит изображение правильно. Он просто не работает при получении документа с сервера. Это происходит с любыми изображениями, которые я пытаюсь добавить. Есть ли другой способ добавить изображения в html-генерируемые документы word, которые могут быть выведены из asp Пейдж?

спасибо.

обновление:

Я заметил, что при копировании кода Word doc со страницы asp, вставке его в файл и переименовании его в word doc, я получаю это приглашение при его открытии:

некоторые файлы на этой веб-странице находятся не в ожидаемом месте. Вы хотите загрузить их в любом случае? Если вы уверены, что веб-страница из надежного источника, нажмите кнопку Да.

Если Я нажмите "Да", изображение отобразится нормально, если я нажму "Нет", я получу ту же ошибку, что и описанная выше. Я думаю, что, поскольку слово doc исходит со страницы ASP, по умолчанию параметр безопасности не отображает внешние элементы. Я попытался добавить URL-адрес сайта (это локальный сайт интрасети) на мои надежные сайты и в качестве надежного местоположения в word, но все равно не повезло.

7 ответов


вы можете попробовать удалить тег o: title. Я обнаружил, что если этот тег есть, word пытается встроить изображение, но будет делать это только в правильном месте. Удалив тег o: title, word просто рассматривает его как ссылку.


перейдите в параметры, веб-параметры (которые могут быть в разделе Дополнительно), снимите флажок "полагаться на VML для отображения графики в браузерах"


весь этот код генерируется Word 2007, или вы добавляете код вручную? Интересно, что у тега img нет косой черты, чтобы закрыть его.


Я знаю, что это глупая ошибка, но вы обязательно поместили изображение в нужное место, чтобы его можно было получить на веб-странице? Если вы просто введите http://xxx/image001.gif url в вашем браузере, появляется ли изображение? Если нет, я бы сказал, что это ваша проблема.


убедитесь, что URL-адрес (местоположение) изображения правильный и добавьте косую черту. Если он все еще не работает, проверьте, могут ли отображаться другие изображения из того же каталога. Если они это сделают, повторно загрузите изображение и повторите попытку. Если другие изображения не отображаются и URL-адрес указан правильно, попробуйте изменить разрешения на чтение в каталоге изображений и изображений. Я не могу себе представить, что это может быть вызвано разрешениями.

Если нет очень конкретных причин для создания HTML в MS Word, я бы посоветовал вам не делать этого. Даже для тех, кто никогда не видел HTML или CSS раньше, они оба очень просты и аккуратны в изучении и могут дать гораздо лучшие результаты, чем MS Word.


Разрешено ли Word 2007 получать доступ к интернету? Может быть, есть правило брандмауэра, блокирующее его?



заменить следующую строку

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

С простой одной строки кода

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

Я уверен, что вы получите результат. Я проверил.