如何在Word2007中插入HTML控件?

如何在Word2007中插入HTML控件?,第1张

使用“开发工具”工具栏上的控件工具即可。

打开“开发工具”选项卡的方法:

打开“Office按钮”-->“Word选项”-->在“常规”选项页中选择“在功能区显示开发工具选项卡”-->确定,即可。

你说的“下拉框”在Word2007中是“内容控件”的一种,你在选中要添加列表内容的控件后,在“开发工具”选项卡中点击“属性”按钮,在对应的“内容控件属性”对话框的“下拉列表属性”栏中即可完成“项目1、项目2、。。。”之类的选项内容的增删。

在Word指定位置插入富文本域值(html文本)

遇到此问题,首先想到的就是各种百度。结果度娘了一会并没有发现有用的有效的解决方法,哎,看来还得靠自己啊。

首先整理了下手头上的资源,一是HtmlAgilityPack,专门解析Html文本用的;二是我有ASPOSE.Word。

再整理下思路:在Word中插入Html,首先有一点是肯定的,Word跟Html都是Document结构,这点应该是没啥怀疑的。如此的话就感觉好办多了,无非就是Document上插入几个节点,在Html插入节点的方式完全可以运用到此地方。

那么第一种解决方法就是:首先把Word转换为Html,然后在指定位置插入当前要插入的Html代码,然后再保存成Word格式的文档

第二种方式就是:把Html解析出有效的文本,利用Word增加段落的方式添加从Html中解析出来的文本。

HtmlAgilityPack.HtmlDocument hd = new HtmlAgilityPack.HtmlDocument()

hd.LoadHtml(txtContent.Value)

hd.DocumentNode.Elements("p");

通过此方式就可以获取到富文本域里面的所有文本信息。但是此种方式获取到的节点在ASPOSE类里面不识别。

再继续折腾吧,回到ASPOSE上面。找帮助文档,寻百度。

Document doc = new Document(Server.MapPath("~/tem_body.doc"))

DocumentBuilder docBuilder = new DocumentBuilder(doc)

docBuilder.InsertHtml(txtContent.Value)

doc.Save(Server.MapPath("~/") + "/TestWord121.doc")

打开保存后的文件,My God,这样就可以了。再试试带图片的,也很不错,图片也可以正常在Word里面正常显示。看来此插件确实很强大啊,不过到目前还并没有解决我的问题。就是插入的位置问题。目前它是插入的头部,即Body的Paragraph 0 处。

接下来就是解决如何把HTML文本插入到指定位置,想了想得首先知道要插入的位置,度娘了一会发现了东东。DocumentExplorer,它可以查看Word文档里面的Doc结构。

速度找了一个,打开后就可以清晰地看到Word文档:

这样的话就知道自己要插入的位置在那个地方。最简单的就是设置好模板,找到要插入的位置节点。

Document temdoc = new Document(Server.MapPath("~/tem.doc"))

Document doc = new Document()

DocumentBuilder docBuilder = new DocumentBuilder(doc)

docBuilder.InsertHtml(txtContent.Value)

docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left

temdoc.AppendDocument(doc, ImportFormatMode.KeepSourceFormatting)

DocumentBuilder temdocBuilder = new DocumentBuilder(temdoc)

var temParas = temdocBuilder.Document.Sections[1].Body.Paragraphs

//int intIndexer = 0

foreach (Paragraph para in temParas)

{

// 这里面随便指定了一个位置,在Paragraphs的第六个节点处

temdocBuilder.Document.Sections[0].Body.InsertAfter(para.Clone(true), temdocBuilder.Document.Sections[0].Body.Paragraphs[5 + intIndexer - 1].NextSibling)

intIndexer++

}

temdocBuilder.Document.Sections.RemoveAt(1)

temdoc.Save(Server.MapPath("~/") + "/TestWord1212.doc")

再次保存后打开测试Word文档,符合自己的预期,解决了把HTML文本插入到Word文档的指定位置。再试试带图片的,结果发现Word文档里面有没有图片,回头想想,之前是可以正常保存且显示图片的,现在不显示图片而只显示一个叉叉,看来是因为图片路劲出问题了。

域是WORD中的一种特殊命令,它由花括号、域名(域代码)及选项开关构成。域代码类似于公式,域选项并关是特殊指令,在域中可触发特定的 *** 作。在用WORD处理文档时若能巧妙应用域,会给我们的工作带来极大的方便。特别是制作理科等试卷时,有着公式编辑器不可替代的优点。一、更新域 *** 作当WORD文档中的域没有显示出最新信息时,用户应采取以下措施进行更新,以获得新域结果。1、更新单个域:首先单击需要更新的域或域结果,然后按下F9键。2、更新一篇文档中所有域:执行“编辑”菜单中的“全选”命令,选定整篇文档,然后按下F9键。另外,用户也可以执行“工具”菜单中的“选项”命令,并单击“打印”选项卡,然后选中“更新域”复选框,以实现WORD在每次打印前都自动更新文档中所有域的目的。二、显示或隐藏域代码1、显示或者隐藏指定的域代码:首先单击需要实现域代码的域或其结果,然后按下“SHIFT+F9”组合键。2、显示或者隐藏文档中所有域代码:按下“ALT+F9”组合键。三、锁定/解除域 *** 作1、要锁定某个域,以防止修改当前的域结果的方法是:单击此域,然后按下“CTRL+F11”组合键。2、要解除锁定,以便对域进行更改的方法是:单击此域,然后按下“CTRL+SHIFT+F11”组合键。四、解除域的链接首先选择有关域内容,然后按下“CTRL+SHIFT+F9”组合键即可解除域的链接,此时当前的域结果就会变为常规文本(即失去域的所有功能),以后它当然再也不能进行更新了。用户若需要重新更新信息,必须在文档中插入同样的域才能达到目的。五、用域创建上划线在“插入”菜单项下选“域”,在“域代码”处输入EQ开关参数,确定。注意在“EQ”和开关参数之间有一个空格,例如输入Y平均值(Y带有上划线),插入域为“EQ \x\to�Y ”� 单击“确定”后便会出现“Y”的样式。六、用域输入分数输入分数通常是用WORD的公式编辑器来完成,其实用域输入更简单易行。 *** 作时首先将光标定位在要输入分数(例如输入“”)的地方,按“Ctrl+F9”,(也可以单击菜单栏“插入”“域”命令,然后在“域名”列表框中找到“eq”项后,单击“域”对话框下面的“确定”即可。插入域定义符“”,然后在“”中输入表示公式的字符串“eq空格\f(a � b) ”,然后在其上单击鼠标右键,在d出的快捷菜单中选择“切换到域代码”命令,就会产生域结果“”。对于带分数,只需在真分数“”前面输入整数部分1就变成了带分数“1”。当然你可以极大地发挥他的作用和你的聪明才智,综合应用这些域,灵活地输入像“”等形式的分数。而且用这种方法输入的分数等域结果在排版时会跟随其他文字一同移动,不会像使用公式编辑器插入的对象那样会因排版而错位。如果输入分数较多,可以先输入一个分数的域代码,然后复制、粘贴再进行数值修改即可提高输入速度。在“eq空格\f(a � b) ”中,eq表示创建科学公式的域名, \f�� 为创建分式公式的开关选项。其他常用开关选项还有创建根式的\r�� 、创建上标下标的\s�� 、以及建立积分的\i��� 等。关于域代码和公式的对应关系,可以查看WORD中关于域的“帮助”信息。七、用域统计文档字数①将鼠标定位到需要字数统计的地方(如文档未尾),然后输入关于提示字数统计结果的文字(如“本文总字数为:” )。②在菜单栏中选择“插入”“域”命令项,进入到“域”对话框。③在“域”对话框中,首先选择“类别”列表中的“文档信息”项,然后从“域名”列表框中选择“NumWords”项。该项用于统计文档总字数,也可以根据需要选择“NumChars”项来统计文档总字符数,选择“NumPages”项来统计文档的总页数,再使用左键单击“选项”按钮,进入到“域选项”对话框中。④在“域选项”对话框中,先在“格式”列表框中选择“1,2,3,…”项,然后单击“添加到域”按钮,将所选择的格式添加到域格式中,再单击“确定”按钮返回到“域”对话框中。⑤在“域”对话框中单击“确定”按钮,即可关闭所有对话框,并返回到文档编辑状态,此时可以看到在当前光标处显示出了“本文总字数:XXXX”的字样。⑥当插入上述域之后,如果对文档进行了修改,移动鼠标将光标定位在域代码上(此时颜色会变为灰色),然后按下F9键,WORD会自动更新该域,并显示出更新后的总字数。⑦为了方便,我们可以在每篇文档中都插入字灵敏统计结果 。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5904336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存