以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]文本型的PDF能否设置高亮文本 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154776) |
|
-- 作者:天一生水 -- 发布时间:2020/9/26 19:36:00 -- [求助]文本型的PDF能否设置高亮文本 老师好! 遇到这种问题,在Word里可以设置高亮显示文本,但是在web浏览器里显示Word文件时,多个客户端都是在浏览器外面打开Word文件。 因此,想把Word文档转变成PDF文档后,在浏览器里显示PDF文件,并高亮显示查找到的文本。不知道如何实现? 谢谢! [此贴子已经被作者于2020/9/27 8:21:27编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/9/27 9:33:00 --
|
|
-- 作者:天一生水 -- 发布时间:2020/9/28 11:06:00 -- 谢谢蓝老师! 我改成这样处理:将Word文档转换为.mhtml文件;替换网页文件中的关键字的样式;在web浏览器打开替换过的文件。
但是会出现几种问题:
1、Word如果是.docx型,app.Documents.Open就打不开;
2、有时候web浏览器加载的mhtml文件是乱码、有时候是空白;
请老师指教下面的代码需要怎样修改?
谢谢!
***生成HTML文件就可以了(解决) 代码如下:
\'\'\'
Dim tmp1 As String = "D:\\test.doc"
Dim tmp2 As String = "D:\\test.html"
Dim app As New MSWord.Application
try
Dim doc = app.Documents.Open(tmp1)
doc.SaveAs(Filename:=tmp2, FileFormat:=MSWord.WdSaveFormat.wdFormatFilteredHTML)
\'doc.SaveAs(Filename:=tmp2 , FileFormat:=MSWord.WdSaveFormat.wdFormatWebArchive) \'生成mhtml单文件
app.quit
catch ex As exception
msgbox(ex.message)
finally
app.Quit
End try
Dim str As String = FileSys.ReadAllText(tmp2,Encoding.Default) \'读取htm文件内容
\'遍历替换的内容,替换网页文件
Dim bjs As List(Of String) = DataTables("替换表").GetValues("原始数据")
For Each bj As String In bjs
str =str.replace(bj ,"<span style=\'background:yellow\'>" & bj & "</span>")
Next
FileSys.WriteAllText(tmp2, str, False) \'重新覆盖写入网页文件
e.Form.Controls("WebBrowser1").Address = tmp2 \'加载文件
[此贴子已经被作者于2020/9/28 20:26:26编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/9/28 11:45:00 -- 1、电脑安装office2007及以上的版本 2、生成mhtml文件后搭配D盘看看生成了几个文件?使用记事本打开这些文件看看 Dim tmp2 As String = "D:\\test.mhtml"
|
|
-- 作者:天一生水 -- 发布时间:2020/9/28 14:13:00 -- 谢谢老师! 1、office装的是2013;2、生成的.mhtml文件可以用ie浏览器正常打开。 应该是后面的读取.mhtml文件及替换等代码有问题,我做个实例,老师有时间麻烦给看一下。 |
|
-- 作者:有点蓝 -- 发布时间:2020/9/28 14:34:00 -- 没有办法。mhtml里保存的文字全部都是下面编码,无法替换 规格作了补
|