Foxtable(狐表)用户栏目专家坐堂 → 商业版转开发版后出现问题


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

主题:商业版转开发版后出现问题

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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
商业版转开发版后出现问题  发帖心情 Post By:2015/7/9 10:27:00 [只看该作者]

我打印文件 外部PDF。

 

用商业版打印没问题

 

转换 开发板后  打印 提示  内存不足。。。。。  而且还是只针对 PDF文件页数 大于20页是时候才发生,该怎么解决呢!


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 10:32:00 [只看该作者]

1、写什么代码打印?

 

2、提示内存不足,就是图片过大过多导致内存不足;

 

3、做例子发上来


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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/7/9 12:05:00 [只看该作者]

怎么用商业版打印没问题。。。。 

 

 

转换格式后,用 开发板打印

            Dim fileName1 As String =   dr("受领书")
            Dim obj1 As object = CreateObject("WScript.Network")
            obj1.SetDefaultPrinter("EPSON LQ-1600K IIIH ESC/P2")
            If filename1 IsNot Nothing Then
                PDFView.PrinterUtil.RenderDPI = 350
                Dim pageCount1 As Integer = pdf.PageCount(fileName1)   '获取页码
                PDFView.PrinterUtil.PrintImagesToPrinter(fileName1,1, pagecount1, 1, False)
            End If
            Dim fileName As String = dr("路径")  '文件路径
            Dim obj As object = CreateObject("WScript.Network")
            obj.SetDefaultPrinter(dayinji)
            If filename IsNot Nothing Then
                PDFView.PrinterUtil.RenderDPI = 500
                Dim pageCount As Integer = pdf.PageCount(fileName)   '获取页码
                Dim copyCount As Integer = Math.Ceiling((pageCount - 2)/4)

  If dr("货号")="H2" Then
                  
                    Dim sum1 As Integer
                    sum1 =DataTables("订单明细").Compute("sum(箱体总高)","[订单条码] = '" & dr("订单条码") &"' And [客户品番] =  '90915CA003'")
                    If sum1 >0 Then
                    PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 1, 2, Math.Ceiling(sum1/396), False)
                    End If
                    Dim sum2 As Integer
                    sum2 =DataTables("订单明细").Compute("sum(箱体总高)","[订单条码] = '" & dr("订单条码") &"' And [客户品番] <>  '90915CA003'")
                    PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 1, 2, Math.Ceiling(sum2/396), False)
                    PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 3, pagecount, 1, False)
                Else
                    If dr("货号")="K5" Then
                        Dim sum4 As Integer
                       
                        sum4 =DataTables("订单明细").Compute("sum(箱体总高)","[订单条码] = '" & dr("订单条码") &"' And [客户品番] = '177000V110'")
                        If sum4 > 0 Then
                            PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 1, 2, Math.Ceiling(sum4/297), False)
                        End If
                        Dim sum5 As Integer
                        sum5 =DataTables("订单明细").Compute("sum(箱体总高)","[订单条码] = '" & dr("订单条码") &"' And [客户品番] <> '177000V110'")
                        PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 1, 2, Math.Ceiling(sum5/396), False)
                        PDFView.PrinterUtil.PrintImagesToPrinter(fileName, 3, pagecount, 1, False)
              '追加空箱打印
                        Dim sum6 As Integer
                        sum6 =DataTables("订单明细").Compute("sum(箱数)","[订单条码] = '" & dr("订单条码") &"' And [箱体高度] = '33' And [客户品番] <> '177000V110'")
                        Dim sum7 As Integer
                        sum7 =DataTables("订单明细").Compute("sum(箱数)","[订单条码] = '" & dr("订单条码") &"' And [箱体高度] = '22' And [客户品番] <> '177000V110'")
                          Dim vk As DataRow = DataTables("空箱计算表").Find("EU33 = '" & sum6 & "' and  EU22 = '" & sum7 & "'")
                        If vk IsNot Nothing Then                             
                           If vk("空箱数") > 0 Then
                            Dim ln As Integer = vk("空箱数")
                            Dim strpath As  String = "E:\出货系统\Attachments\空箱" & ln & ".xlsx"
                            If FileSys.FileExists(strpath)  Then
                                Dim App As New MSExcel.Application
                                Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(strpath)
                                Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
                                Ws.PrintOut(From:=1,To:=1,Copies:=1,Preview:=False)
                                App.Visible = True
                                App.Quit
                            End If
                            End If
end if

 

 

打印的时候   "H2"  就会提示 。   

 

                 "K5"  没问题!

[此贴子已经被作者于2015/7/9 12:05:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 12:11:00 [只看该作者]

 把bin文件夹删除,测试一次。

 

 不行,就上传具体例子上来测试一下。


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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/7/9 16:15:00 [只看该作者]

老师 , 你测试一下。

 

里面有3个打印PDF用的DLL , 需要先引用的。

另外 一个是用来测试用的PDF文档。你修改下打印路径

代码在窗体1里面。

用 开发板打印 提示内存不足!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:3106_b_707j_1_h2_2015071004_k.zip


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 16:31:00 [只看该作者]

gsdll32.dll发上来;

 

dll的源代码发上来


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 16:32:00 [只看该作者]

 如果是页数过多的时候有问题,那么,你就分开来几页几页的打印,不要一次性打印太多页。

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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/7/10 10:38:00 [只看该作者]

gsdll32.dll 这个DLL

 

10M。。。。

 

这些DLL都是在 这个论坛下的  之前 唐僧三摆手  打印  的 帖子!

 

还有  林海伦 版主 帮忙修改了一下。

 

我也不知道 源码是什么。。。

 

 

我测试过 版主的方法 超过10页的部分分开打印,  但还是会提示  内存不足   (用回商业版的 没问题)

 

打印出来的 纸张 上边写着

 

 没看清:  i/o

error:      inputreaderror

operator: readimage

position:  7.35

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/10 11:31:00 [只看该作者]

 dll别人肯定把源码给你的,人家已经重新写过代码了,如果没有源码,根本就无法控制里面的内容。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/10 11:46:00 [只看该作者]

 应该是里面的图片对象没有释放导致的内存溢出,要改dll文件。

 

 如果,你说商业版没事,开发版有事,那开发版运行的时候,你要用管理员权限运行项目。


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