以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- word文档在指定页插入图片 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174447) |
-- 作者:lxhmax -- 发布时间:2022/1/16 4:10:00 -- word文档在指定页插入图片 请问老师,word文档有多页时,如何在每一页都加上图片?或者是指定页插入图片 Dim fl As String = ProjectPath & "1.docx" Dim yz As String = ProjectPath & "yz.png" Dim App As New MSWord.Application Dim doc As object = app.Documents.Open(fl) Dim s = doc.Shapes.AddPicture(yz, False, True,60, 425, 110, 110) s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront app.visible = True
|
-- 作者:有点蓝 -- 发布时间:2022/1/16 20:55:00 -- 使用模板:http://www.foxtable.com/webhelp/topics/2890.htm |
-- 作者:lxhmax -- 发布时间:2022/1/17 9:18:00 -- 老师,因为图片是附在文字上方的,还有是在侧边的位置,这个模板看不懂怎么操作,麻烦老师看下怎么改下面的代码 Dim fl As String = ProjectPath & "1.docx" Dim yz As String = ProjectPath & "y2.png" \'请问老师如何获取doc的全部页数pages? \'根据页数分解骑缝章 Dim img = getimage(yz) Dim pages As Integer = 3 Dim page As Integer = 2 Dim imgw As Integer = img.width / pages For i As Integer = 1 To pages Dim bmp As new bitmap(imgw, img.height) \'宽高 Dim g = graphics.fromimage(bmp) Dim x As Integer = (i-1)*imgw \'开始坐标 Dim y As Integer = 0 \'开始坐标 Dim w As Integer = bmp.width Dim h As Integer = bmp.height g.DrawImage(img, new Rectangle(0, 0, w, h), new Rectangle(x, y, w, h), GraphicsUnit.Pixel) bmp.save(ProjectPath & "骑缝章\\" & i & ".png") bmp.dispose Next Dim App As New MSWord.Application Dim doc As object = app.Documents.Open(fl) \'第一页跟最后一页都要插入完整的印章,这个如何修改? Dim s = doc.Shapes.AddPicture(yz, False, True,60, 425, 110, 110) s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront \'每一页都要贴上骑缝章,这个如何修改 Dim s2 = doc.Shapes.AddPicture(ProjectPath & "骑缝章\\1.png", False, True,520, 250, 110/pages , 110) s2.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront \'Dim s3 = doc.Shapes.AddPicture(ProjectPath & "骑缝章\\2.png", False, True,520, 250, 110/pages , 110) \'s3.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront \'Dim s4 = doc.Shapes.AddPicture(ProjectPath & "骑缝章\\3.png", False, True,520, 250, 110/pages , 110) \'s4.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront app.visible = True
[此贴子已经被作者于2022/1/17 9:20:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 9:26:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=172360&skin=0 |
-- 作者:lxhmax -- 发布时间:2022/1/17 9:28:00 -- Dim App As New MSWord.Application Dim doc As object = app.Documents.Open(fl) \'第一页跟最后一页都要插入完整的印章,这个如何修改? Dim s = doc.Shapes.AddPicture(yz, False, True,60, 425, 110, 110) s.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront \'每一页都要贴上骑缝章,这个如何修改 Dim s2 = doc.Shapes.AddPicture(ProjectPath & "骑缝章\\1.png", False, True,520, 250, 110/pages , 110) s2.WrapFormat.Type = MSWord.WdWrapType.wdWrapFront
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 9:32:00 -- 第一页跟最后一页单独处理,插入完整的印章图片不就行了 中间其它页按正常方式处理 Dim pages As Integer = 获取的页数 - 2
|
-- 作者:lxhmax -- 发布时间:2022/1/17 9:52:00 -- 还请老师指教怎么单独处理? 把word安页数拆分成若干个文档,然后在处理,最后又合并在一起吗? 还是不懂怎么编写这样的代码
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 10:05:00 -- dim 页数 = doc.ComputeStatistics(Microsoft.Office.Interop.Word.WdStatistic.wdStatisticPages, Nothing) 第一页 Dim myRange = doc.GoTo(1, Which:=1, Count:=1) doc.Shapes.AddPicture(“完整图片”, False, True, 左边距,上边距,图片宽,图片高,myRange) 中间页 For i As Integer = 2 To 页数-1 处理中间页 next 最后页 Dim myRange = doc.GoTo(1, Which:=1, Count:=页数) doc.Shapes.AddPicture(“完整图片”, False, True, 左边距,上边距,图片宽,图片高,myRange) |
-- 作者:lxhmax -- 发布时间:2022/1/17 10:41:00 -- 可以了,谢谢老师 |