C#:插入HTML内容->;MS Word:图像&;表自动缩放(即丢失宽度和高度样式属性)

本文关键字:属性 样式 高度 缩放 gt 内容 HTML 插入 MS Word amp | 更新日期: 2023-09-27 18:27:09

我使用C#在MS Word中生成报告。我有一个预定义的.docx模板,我使用邮件合并字段,然后由我的应用程序更新。

我从数据库中检索HTML内容的小部分,并将它们插入到MS Word文档中的适当位置,如下所示:

  1. 我检索HTML内容

  2. 我用标签包装内容:

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

  3. 将html内容保存到临时文件中

  4. 使用单词_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中。

任何关于如何正确缩放的想法都将不胜感激。

非常感谢

C#:插入HTML内容->;MS Word:图像&;表自动缩放(即丢失宽度和高度样式属性)

根据我的经验,HTML可能是将富文本转换为Word文档的最简单方法,但它也容易出现格式错误,而且您无法控制更精细的细节。

您是否尝试过将widthheight属性用于img元素?另一种选择可能是尝试使用RTF(在功能方面与Word不相上下)。