Foxtable(狐表)用户栏目专家坐堂 → 专业报表合并图片为pdf


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

主题:专业报表合并图片为pdf

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


加好友 发短信
等级:三尾狐 帖子:630 积分:5631 威望:0 精华:0 注册:2012/8/2 19:04:00
专业报表合并图片为pdf  发帖心情 Post By:2024/6/3 11:34:00 [只看该作者]

If 1=1 Then
    Dim doc As New PrintDoc
    Dim rt As New prt.RenderText
    rt.Text = "Hello Foxtable"
    rt.Style.TextColor = Color.Red
    rt.Style.TextAngle = -45
    doc.Body.Children.Add(rt)
    doc.SaveImage("D:\Users\Administrator\Desktop\专业报表.jpg")
End If


老师,为什么上面生成的图片只有36k,可是下面的代码合并生成的pdf有600多k,这有什么办法优化下吗?
我这么做的原因是直接生成的pdf可以编辑,哪怕加密了也可以编辑,我就想着先生成图片再合并成pdf


Dim doc2 As New PrintDoc '定义一个报表对象
For i As Integer = 1 To 100
    Dim wjmc As String = "专业报表"
    wjmc = "D:\Users\Administrator\Desktop\" & wjmc & "_page" & i & ".jpg"
    Output.Show(wjmc & "==" & Date.Now)
    If FileSys.FileExists(wjmc) Then  '如果指定的文件存在
        Dim rt As New prt.RenderImage '定义一个图片对象
        rt.Style.Padding.All = -25 '所有方向的边距都设为2
        rt.Width = "100%Parent" '设置尺寸为容器(页面)尺寸
        rt.Height = "100%Parent"
        rt.Image = GetImage(wjmc) '设置图片
        doc2.Body.Children.Add(rt) '将图片对象加入报表
        'FileSys.DeleteFile(wjmc,2,2) '则彻底删除之
    Else
        Exit For
    End If
Next
Doc2.SavePdf("D:\Users\Administrator\Desktop\重新合并.pdf")
Output.Show(Date.Now)



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


加好友 发短信
等级:超级版主 帖子:107604 积分:547323 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/3 14:18:00 [只看该作者]

没有办法优化。不同文件格式需要的空间是不一样的,pdf文件里有很多pdf独有的数据。

 回到顶部