C #: Вставка HTML-содержимого - ›MS Word: автоматическое масштабирование изображений и таблиц (т.е. потеря атрибутов стиля ширины и высоты)

Я использую C # для создания отчетов в MS Word. У меня есть предопределенный шаблон .docx, и я использую поля слияния почты, которые затем обновляются моим приложением.

Я извлекаю небольшие фрагменты HTML-содержимого из базы данных и вставляю их в соответствующие места в документе MS Word следующим образом:

  1. Я получаю содержимое HTML

  2. Оборачиваю контент тегами:

    <HTML> <TITLE></TITLE> <BODY> ... content ... </BODY> </HTML>

  3. Сохраните HTML-контент во временный файл

  4. Используйте метод Word._Application.Selection.InsertFile (), чтобы вставить файл HTML.

Пример преобразованного HTML-кода:

<html>
<title></title>
<body>
    <table border="0" cellpadding="0" cellspacing="0" style="width: 700px; ">
    <tbody>
    <tr>
        <td style="padding-top: 0cm; padding-right: 5.4pt; padding-bottom: 0cm; padding-left: 5.4pt; text-align: center; vertical-align: middle; width: 150px; ">
            <img alt="see attached image: screenshot-3.jpg" src="XXXXX/screenshot-3.jpg" style="width: 60px; height: 84px; " />
        </td>
    </tr>
</tbody>
</table>
<br />
</body>
</html>

Вышеупомянутая система работает, но я обнаружил, что таблицы и изображения «автоматически масштабируются» в MS Word, при этом изображения визуализируются с их исходными размерами, в отличие от встроенных атрибутов style = "width, height".

Мой HTML-код на 100% отображается в браузере, но не в MS Word.

Любые идеи о том, как правильно масштабировать, были бы очень признательны.

Большое спасибо


person kalenwatermeyer    schedule 09.03.2012    source источник


Ответы (1)


По моему опыту, HTML может быть самым простым способом перенести форматированный текст в документ Word, но он также подвержен ошибкам при форматировании, и вы не можете контролировать более мелкие детали.

Вы пробовали использовать атрибуты width и height для элемента img? Другой вариант - попробовать использовать RTF (который по функциям не уступает Word).

person Joey    schedule 09.03.2012
comment
Спасибо, Джоуи - установка атрибутов width и height заставляет MS Word правильно масштабировать их. - person kalenwatermeyer; 11.03.2012