【发布时间】:2018-04-04 21:29:29
【问题描述】:
当我通过正确的方法insertHtml 在 Word 文档中插入 HTML 时,p 标签中包含的所有 html 内容都变为“Times New Roman”;其余的是“Calibri”,这是文档的默认字体。
例如,<div>Hello</div> 在 Calibri 中将是 Hello; <p>Hello</p> 将在 Times New Roman 的 Hello 中。 除了插入的 html 的最后一段,它将始终在 Calibri 中。
我尝试做context.document.getSelection().insertHtml(myHtml, "replace"),尝试将其插入内容控件并设置myContentControl.styleBuiltIn = 'Normal' 或myContentControl.font.name = 'Calibri',但它并没有改变任何事情!
有人有想法吗?
谢谢!
为辛迪编辑 Html 去 Times New Roman ;不涉及 CSS,只有纯 HTML
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus varius erat, at vulputate elit lacinia et. Nullam mattis vitae nunc eget ultrices. Cras massa lacus, vulputate id tristique quis, iaculis a leo. Ut iaculis est nunc, vitae venenatis turpis lacinia nec. Donec auctor elementum augue id accumsan. Etiam vehicula orci orci, in sollicitudin nunc lobortis in. Etiam id mauris rhoncus, varius ligula quis, faucibus dolor. Vestibulum gravida metus sit amet imperdiet consequat. Integer vehicula malesuada nisi sit amet imperdiet. In tristique vulputate massa, eu mattis massa dictum ac. Suspendisse non sem at mi fermentum pretium. Etiam tincidunt augue ut justo pretium, eu auctor velit blandit. Etiam massa leo, lacinia vel facilisis nec, mattis quis enim.</p>
<p>Donec elementum nulla et neque maximus volutpat. Pellentesque scelerisque aliquam velit, et tincidunt neque feugiat nec. Etiam euismod arcu sit amet turpis eleifend commodo. Donec consectetur erat at rhoncus semper. Suspendisse vel dui sollicitudin, condimentum eros sed, malesuada augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin finibus, orci feugiat ullamcorper aliquam, magna enim molestie libero, vel maximus diam elit non sem. Donec et molestie arcu, non commodo nisl.</p>
<p>Nunc placerat a metus mattis fringilla. Pellentesque ac mattis nisl. Aliquam sit amet maximus nulla. Ut leo erat, efficitur eget dapibus a, maximus sed nisi. Proin lacinia efficitur ex vel congue. Fusce quis ullamcorper mauris. Duis eu nunc pellentesque, egestas tellus eu, auctor lacus. Suspendisse pellentesque nunc nisi, id condimentum felis pretium a. Integer eu nulla pharetra, ullamcorper nulla in, faucibus turpis.</p>
编辑和注意:为了完全透明,我通过执行以下操作将内容控件的样式设置为“正常”。但是我仍然想了解为什么会发生这种 Times New Roman 的事情,以及是否有比这更清洁的方法:
var thisDocument = context.document,
range = thisDocument.getSelection(),
contentControl = range.insertContentControl();
contentControl.insertHtml(element, Word.InsertLocation.start);
return context.sync().then(function () {
contentControl.styleBuiltIn = 'Normal';
return context.sync();
});
【问题讨论】:
-
您能添加一个可复制的 HTML sn-p 吗?以及任何涉及的 CSS。
-
在那里编辑 :)
标签: office-js