Foxtable(狐表)用户栏目专家坐堂 → [求助]图片生成Word


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

主题:[求助]图片生成Word

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]图片生成Word  发帖心情 Post By:2019/11/6 19:53:00 [只看该作者]

老师好!
图片转Word时遇到两个问题:
1、图片插入专业报表,然后从专业报表再另存为Word文档时,如果图片较多(超过100张)或者图片较大(每张1M),图片就无法有效插入,专业报表就成空白的了;
2、下面的加黑的部分代码,是先从专业报表保存为HTML格式,再存为Word格式。如果使用,前面设置的页边距和图片大小等就不起作用了,是什么原因?

Dim doc As New PrintDoc '定义一个报表对象
Doc.PageSetting.PaperKind = 9   'A4纸张编码
Doc.PageSetting.LeftMargin = 0.5   '页边距
Doc.PageSetting.BottomMargin = 0.5
Doc.PageSetting.rightMargin = 0.5
Doc.PageSetting.TopMargin = 0.5

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter= "图片文件|*.jpg"
dlg.Title = "添加图片"   '对话窗口名称
dlg.InitialDirectory = ProjectPath & "Attachments\文档"   '默认打开路径
If dlg.ShowDialog = DialogResult.OK Then
    For Each fl As String In dlg.FileNames     '遍历添加        
        Dim rm As New prt.RenderImage   '定义一个图片对象
        rm.Image = GetImage(fl)   '设置图片
        rm.Width = "Parent.Width"   '宽度等于页面宽度
        rm.Height = "Auto"    '高度由图片大小自动决定
        'rm.Style.ImageAlign.StretchHorz = False   '禁止图片水平拉伸-不要用
        rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center   '居中显示
        doc.Body.Children.Add(rm)   '将图片对象加入报表
        'rm.BreakBefore = prt.BreakEnum.Page '打印前换页        
    Next
    'Doc.Preview() '预览
    
    doc.SaveHTM("d:\test.doc")    '保存为HTML格式
    Dim strs As String = FileSys.ReadAllText("d:\test.doc")
    Dim idx As Integer = strs.IndexOf("<html")
    strs = strs.SubString(idx)
    FileSys.WriteAllText("d:\test.doc", strs, False)    '是否追加写入
    
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106242 积分:540333 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/7 9:51:00 [只看该作者]

网页的格式是比较特殊的,并不是说把扩展名改为doc,就能变成word文档了。

试了一下,找不到什么好的办法

 回到顶部