Foxtable(狐表)用户栏目专家坐堂 → 请教各位前辈 利用word模板并生成的Word文件中有没有办法在指定的位置加盖电子印章呢?


  共有4499人关注过本帖树形打印复制链接

主题:请教各位前辈 利用word模板并生成的Word文件中有没有办法在指定的位置加盖电子印章呢?

帅哥哟,离线,有人找我吗?
李孝春
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)用法差不多    Dim fileNa...  发帖心情 Post By:2020/12/31 15:44:00 [只看该作者]

Dim App As New MSWord.Application
Dim doc As object = app.Documents.Open("C:\Users\Administrator\Desktop\公文助手20201224\Reports\1.doc")
Dim s = doc.Shapes.AddPicture("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.jpg", False, True,300, 500, 100, 100)
s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront
app.visible = True

有点蓝老师  谢谢你哈  按照你的指导方法  初步实现了在具体的位置加盖图片的操作

想进一步学习一下  有没有办法实现在页面中查找“盖章”字样  然后直接在盖章字样位置实现图片加载呢?

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106311 积分:540690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/31 16:04:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)http://www.foxtable.com/bbs/dispbb...  发帖心情 Post By:2020/12/31 19:35:00 [只看该作者]

有点蓝老师  参照你之前的论坛知识学习
下列代码我想实现  在不创建标签的情况下  直接查找word中的文字  如果有印章  就在印章字样的位置加盖电子印章图片 且印章实现浮于文字之上
经过实际运行  没有并没有在 印章字样处加盖电子印章图片   而是默认在word文档的开头直接加盖了电子印章  且印章也没有实现浮于文字之上
代码如下:【怎么修改代码  实现印章浮于文字之上 且在印章字样之上加盖印章】
Dim app As New MSWord.Application
try
    Dim fileName = "D:\问题\123.docx"
    Dim doc As object = app.Documents.Open(fileName)
    Dim item  = "印章" '被替换的字符
    Dim sel = app.Selection
    sel .Find.ClearFormatting
    With sel .Find
        .Text = item
        .Replacement.Text = ""
        .Forward = True
        .Wrap = MSWord.WdFindWrap.wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    sel.Find.Execute
    Dim img = "D:\问题\1.png" '图片路径
    Dim pic = sel.InlineShapes.AddPicture(img, False, True)
    pic.Height=100 '图片高
    pic.Width=100 '图片宽
    Doc.save
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106311 积分:540690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/31 21:10:00 [只看该作者]

试试
Dim App As New MSWord.Application
Dim doc As object = app.Documents.Open("C:\Users\Administrator\Desktop\公文助手20201224\Reports\1.doc")
Dim item  = "印章"
Dim sel = app.Selection
sel .Find.ClearFormatting
sel .Find.Text = item
sel.Find.Execute
dim obj = sel.Range
Dim s = doc.Shapes.AddPicture("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.jpg", False, True,0, 0, 100, 100, obj)
s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)试试Dim App As New MSWord.Applicat...  发帖心情 Post By:2021/1/4 17:19:00 [只看该作者]

Dim f1 As String = ProjectPath & "Reports\入党申请谈话通知书.doc"
Dim f2 As String = ProjectPath & "Reports\入党申请谈话通知书【已用印】.doc"
Dim App As New MSWord.Application
Dim doc As object = app.Documents.Open(f1)
Dim item  = "盖章"
Dim sel = app.Selection
sel .Find.ClearFormatting
sel .Find.Text = item
sel.Find.Execute
Dim obj = sel.Range
Dim s = doc.Shapes.AddPicture("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png", False, True,300, 0, 100, 100, obj)
s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront
app.visible = False
'doc.save(f2)
doc.save
app.quit

红色部分代码 怎么自定义保存文件位置和文件名称呢?
红色部分代码启用后 提示如图:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106311 积分:540690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 17:41:00 [只看该作者]

doc.SaveAs(Filename:=f2)

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)doc.SaveAs(Filename:=f2)  发帖心情 Post By:2021/1/4 18:24:00 [只看该作者]

OK  谢谢


当前创建了一个窗体  放了两个卡片组件  在卡片组件中使用了两个web浏览器组件   在项目中三个文件  Attachments放模板文件 Reports放模板文件生成的Word文件 Reports1\ 放用印后的文件
在点生成word按钮后 生成对应数据库文件   并显示在右边卡片页1中对应的web浏览器中
当点电子印章后,加载对应的电子印章图片生成 并显示在右边卡片页3中对应的web浏览器中
实现效果如下:(当前操作有点繁琐  且显示效率和文件生成的效率不高  个人感觉体验性有待提高)

图片点击可在新窗口打开查看此主题相关图片如下:word加盖印章.gif
图片点击可在新窗口打开查看

老师有没有办法直接 就在卡片页1中的web浏览器中  无缝显示加盖电子印章的文件呢?
根据word模板生成数据文件代码:
Dim tm As String  = ProjectPath & "Attachments\入党申请谈话通知书.doc"
Dim f1 As String = ProjectPath & "Reports\ " &  Vars("姓名")  & "入党申请谈话通知书.doc"
Dim f11 As String = ProjectPath & "Reports\ " &  Vars("姓名")  & "入党申请谈话通知书.pdf"
Dim wrt As New WordReport(tm,f1) '注意这里无需指定表名
wrt.AddDataTable("党员信息","智慧党建","Sel ect * from {党员信息} where 姓名 = '" & Vars("姓名") & "'")
wrt.Build()
wrt.SaveToPDF(f11)
wrt.Quit() '退出
FileSys.CopyDirectory (ProjectPath & "Reports\", ProjectPath & "Reports1\", True)

Dim tb2 As WinForm.TabControl = e.Form.Controls("TabControl2")
tb2.SelectedIndex=0

Dim wb2 As WinForm.WebBrowser = e.Form.Controls("WebBrowser2")
wb2.OfficeToolBar = True
wb2.Address=f1

电子印章按钮代码:
Dim f1 As String = ProjectPath & "Reports1\ " &  Vars("姓名")  & "入党申请谈话通知书.doc"
Dim f2 As String = ProjectPath & "Reports1\ " &  Vars("姓名")  & "入党申请谈话通知书【已用印】.doc"
Dim App As New MSWord.Application
Dim doc As object = app.Documents.Open(f1)
Dim item  = "盖章"
Dim sel = app.Selection
sel .Find.ClearFormatting
sel .Find.Text = item
sel.Find.Execute
Dim obj = sel.Range
Dim s = doc.Shapes.AddPicture("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png", False, True,300, 0, 100, 100, obj)
s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront
app.visible = False

doc.SaveAs(Filename:=f2)
'doc.save
app.quit

打开地址代码:
Dim f2 As String = ProjectPath & "Reports1\ " &  Vars("姓名")  & "入党申请谈话通知书【已用印】.doc"
Dim tb2 As WinForm.TabControl = e.Form.Controls("TabControl2")
Dim wb2 As WinForm.WebBrowser = e.Form.Controls("WebBrowser3")
tb2.SelectedIndex=2
wb2.Address=f2



 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106311 积分:540690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 20:06:00 [只看该作者]

卡片页1中的web浏览器地址直接设置为加印章后保存的文件就行了

Dim f2 As String = ProjectPath & "Reports1\ " &  Vars("姓名")  & "入党申请谈话通知书【已用印】.doc"
Dim wb2 As WinForm.WebBrowser = e.Form.Controls("WebBrowser2")
wb2.OfficeToolBar = True
wb2.Address=f2

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)卡片页1中的web浏览器地址直接设置为...  发帖心情 Post By:2021/1/5 9:36:00 [只看该作者]

有点蓝老师 有没有更加高效的解决思路呢   
上述我操作下来根据模板生成文件 然后显示  然后加盖印章  然后再显示用印后文书  时间有点长了点  效率不高  体验感有点不大好
不晓得是不是因为调用的是外部word文件模板结合数据库数据的原因  还是代码不够精简 导致运行效率时间比较长

 回到顶部
帅哥,在线噢!
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106311 积分:540690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/5 9:50:00 [只看该作者]

word文档的处理一向都快不了,代码也就这样了

 回到顶部
总数 21 上一页 1 2 3 下一页