Dim doc As New PrintDoc '定义一个报表对象
Dim rm As New prt.RenderImage '定义一个图片对象
Dim dir4 As String = "F:\档案管理\张三公司\楼房合同明细\合同整理\"
Dim str1,str2,str3,mz1,mz2 As String
If FileSys.DirectoryExists(dir4)=True Then
For Each Fileml As String In FileSys.GetDirectories(dir4)
Dim xm As String = Right(Fileml,Fileml.Length-Fileml.LastIndexOf("\")-1)
Dim mc = System.Text.RegularExpressions.Regex.Matches(xm, "[0-9]+")
If mc.count > 0 Then
str1 = mc(0).value
End If
mc = System.Text.RegularExpressions.Regex.Matches(xm, "[\u4e00-\u9fa5]+")
If mc.count > 0 Then
str3= mc(0).value
End If
'msgbox(str1)
'msgbox(str3)
For Each file As String In FileSys.GetFiles(fileml)
'msgbox(file)
rm = New prt.RenderImage '定义一个图片对象
rm.Width = 200 '"Parent.Width" '宽度等于页面宽度
'rm.Height = "Auto" '高度由图片大小自动决定
rm.Height = 290 '"Parent.Height" '高度由图片大小自动决定
Doc.PageSetting.LeftMargin = 5 '设置左边距
Doc.PageSetting.RightMargin = 5 '设置右边距
Doc.PageSetting.TopMargin = 5 '设置上边距
Doc.PageSetting.BottomMargin = 5 '设置下边距
Dim bmp As New bitmap(File)
bmp.RotateFlip(RotateFlipType.Rotate90FlipNone)
rm.Image = bmp '设置图片
'rm.Image = GetImage(File) '设置图片
'rm.Style.ImageAlign.TileHorz = True '禁止图片水平拉伸
'rm.Style.ImageAlign.TileVert = True '禁止图片水平拉伸
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
doc.Body.Children.Add(rm) '将图片对象加入报表
Next
Dim dr As DataRow = DataTables("楼面情况汇总").find("购买户主 = '" & str3 & "'And 备案编号 = '" & str1 & "' ")
If dr IsNot Nothing Then
mz1 = dr("楼房编号") & "买卖合同-" & dr("购买户主") & ".PDF"
mz2 = dr("楼房编号") & "买卖合同-" & str1 & dr("购买户主") & ".PDF"
End If
'msgbox(dir4 & mz1)
'msgbox(dir4 & mz2)
doc.SavePDF(dir4 & mz1 )
'doc.SavePDF(dir4 & mz2 )
Next
End If
使用上述代码生成PDF文件时,"F:\档案管理\张三公司\楼房合同明细\合同整理\"目录下有两个文件夹,每个文件夹下有20张图片,每张图片约定2.5M,在生成PDF文件,显示失败,因为内存不足,可是我的电脑内存为32G,这是什么原因?应该怎么处理?