大家帮忙看一下下面的代码,无法达到想要的效果,谢谢。
Dim lvw As WinForm.ListView = e.Form.Controls("图片略缩图")
Dim pic As WinForm.PictureBox = e.Form.Controls("图片预览框")
If lvw.Current IsNot Nothing Then
Dim doc As New PrintDoc '定义一个报表对象
Doc.PageSetting.PaperKind = 12 ''A4
Doc.PageSetting.LeftMargin = 0.5
Doc.PageSetting.BottomMargin = 0.5
Doc.PageSetting.LeftMargin = 0.5
Doc.PageSetting.TopMargin = 0.5
For Each vr As WinForm.ListViewRow In lvw.Rows ''遍历所有图片文件
If FileSys.FileExists(vr.Name) = True Then ''如果该文件存在
Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage(vr.Name) '设置图片来源
Dim pwidth = Doc.PageSetting.Width.value - Doc.PageSetting.LeftMargin.Value - Doc.PageSetting.RightMargin.Value
If rm.Image.Width / 96 * 25.4 > pwidth Then
' rm.Width = "Parent.Width"
End If
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 '打印前换页
End If
Next
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "PDF文件|*.pdf" '设置筛选器
dlg.Title = "导出为PDF"
dlg.FileName = CurrentTable.Current("文件名") & ".pdf"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Doc.SavePDF(dlg.FileName)
If MessageBox.Show("图片已成功导出为PDF文件,现在是否打开?","确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
Dim Proc As New Process '定义一个新的Process
Proc.File = dlg.FileName '指定要打开的文件
Proc.Start()
End If
End If
End If
[此贴子已经被作者于2015/4/20 10:41:22编辑过]