.net web水晶报表怎么一点打印输出pdf?请高手介绍水晶报表在web项目打印方法! .net web水晶报表怎么一点打印输出pdf?请高手介绍水晶报表在web项目打印方法! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 crReportDocument.SetDataSource(Ds); ExportOptions crExportOptions; //导出选项 DiskFileDestinationOptions crDiskFileDestinationOptions; String Fname; //导出完整名称 //String FileName = "print.pdf"; String FileName = Session["departid"].ToString().Trim() +".pdf"; String _SystemPath =Request.PhysicalApplicationPath + @"ExportPath\"; if(!System.IO.Directory.Exists(_SystemPath)) System.IO.Directory.CreateDirectory(_SystemPath); Fname = _SystemPath + FileName; //导出完整名称 crDiskFileDestinationOptions = new DiskFileDestinationOptions(); crDiskFileDestinationOptions.DiskFileName = Fname; crExportOptions = crReportDocument.ExportOptions; crExportOptions.DestinationOptions = crDiskFileDestinationOptions; crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; crReportDocument.Export(); OpenOrDownloadFile(FileName); 首先定义报表对象,然后用推的方式绑定数据源,OK后即打印Report.TZ rt=null;rt=new Report.TZ();OleDbDataAdapter OD=new OleDbDataAdapter(strsql,Con);DataSet ds=new DataSet();OD.Fill(ds,"Tab");int count=ds.Tables["Tab"].Rows.Count;rt.SetDataSource(ds.Tables["Tab"]);int rowcount=ds.Tables["Tab"].Rows.Count; int m=rowcount/26; int n=rowcount%26; int pagecount; if(n==0) pagecount=m; else pagecount=m+1; rt.PrintOptions.PrinterName=@System.Configuration.ConfigurationSettings.AppSettings ["A3PrintName"].ToString();rt.PrintToPrinter(1,false,1,pagecount); 这样似乎有些功能无法使用,例如打印设置等。我使用的方法是:使用pull方式;使用水晶报表9.2;使用cr自己的打印工具;导出为pdf;使用acrobat 打印; 注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。如果你需要使用"UnTyped"报表,你得使用ReportDocument对象,然后再调用报表文件。 运行你的程序。 11) 运行你的程序 将报表文件导出成为其它格式 你能够将报表文件导出成为下列格式: 1. PDF (Portable Document Format) 2. DOC (MS Word Document) 3. XLS (MS Excel Spreadsheet) 4. HTML (Hyper Text Markup Language – 3.2 or 4.0 compliant) 5. RTF (Rich Text Format) 使用Pull模式导出报表 当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,下面是执行导出功能的代码:C#代码: VB.Net代码:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim myReport As CrystalReport1 = New CrystalReport1() '注意:这里我们建立一个strong-typed的水晶报表实例。 Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions() myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile ' 导出成为其它文件时也需要这个选项 ' 如Microsoft Exchange, MAPI等. myReport.ExportOptions.ExportFormatType = CrystalDecisions. [Shared].ExportFormatType.PortableDocFormat '这里我们导出成为.pdf格式文件,你也能选择上面的其它类型文件 DiskOpts.DiskFileName = "c:\Output.pdf" '如果你不指定确切的目录,那么文件就会保存到[Windows]\System32目录中去了 myReport.ExportOptions.DestinationOptions = DiskOpts '水晶报表文件不包含直接的FileName属性,因此你不能直接指定保存的文件名 '所以你不得不使用DiskFileDestinationOptions对象,设置它的DiskFileName属性 '为你想要的路径,最后将水晶报表的DestinationsOptions属性指定为上面的DiskFileDestinationOption myReport.Export() '上面的代码将完成导出工作。End Sub http://community.csdn.net/Expert/topic/3557/3557228.xml?temp=.0348627 设置客户端浏览器在本地打印所采用的方法,你可能设置成printmode=pdf了应该是printmode=ActiveX 用导出PDF的方式,打印报表,要求客户端也安装Adobe Acrobat,否则无法查看到报表 .net如何记录某个字符所在的文件名 C# 自动更新 功能 Dome 急!!!DataTable固定列,动态生成绑,无法绑定到GridView,怎么都不行... 实例失败 江湖告急!哪位大虾用asp或asp.net做过甘特图(就是哪种项目进度表)? 高手来啊急!求一个“连动”的JavaScript的省份和城市的下拉列表框例子!!! 一个DataList显示的提问! asp.net引用vb6.0的dll怎樣釋放?????????? 服务器映射出错!!!急 在线等待 真情回报,5个角了,高兴,散分!!!! 求几个应聘问题的答案 框架页面如何接受参数?
ExportOptions crExportOptions; //导出选项
DiskFileDestinationOptions crDiskFileDestinationOptions;
String Fname; //导出完整名称
//String FileName = "print.pdf";
String FileName = Session["departid"].ToString().Trim() +".pdf";
String _SystemPath =Request.PhysicalApplicationPath + @"ExportPath\";
if(!System.IO.Directory.Exists(_SystemPath))
System.IO.Directory.CreateDirectory(_SystemPath);
Fname = _SystemPath + FileName; //导出完整名称
crDiskFileDestinationOptions = new DiskFileDestinationOptions();
crDiskFileDestinationOptions.DiskFileName = Fname; crExportOptions = crReportDocument.ExportOptions;
crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
crReportDocument.Export();
OpenOrDownloadFile(FileName);
Report.TZ rt=null;
rt=new Report.TZ();
OleDbDataAdapter OD=new OleDbDataAdapter(strsql,Con);DataSet ds=new DataSet();
OD.Fill(ds,"Tab");
int count=ds.Tables["Tab"].Rows.Count;
rt.SetDataSource(ds.Tables["Tab"]);
int rowcount=ds.Tables["Tab"].Rows.Count;
int m=rowcount/26;
int n=rowcount%26;
int pagecount;
if(n==0)
pagecount=m;
else
pagecount=m+1;
rt.PrintOptions.PrinterName=@System.Configuration.ConfigurationSettings.AppSettings ["A3PrintName"].ToString();
rt.PrintToPrinter(1,false,1,pagecount);
我使用的方法是:
使用pull方式;
使用水晶报表9.2;
使用cr自己的打印工具;
导出为pdf;
使用acrobat 打印;
运行你的程序。
11) 运行你的程序
将报表文件导出成为其它格式
你能够将报表文件导出成为下列格式:
1. PDF (Portable Document Format)
2. DOC (MS Word Document)
3. XLS (MS Excel Spreadsheet)
4. HTML (Hyper Text Markup Language – 3.2 or 4.0 compliant)
5. RTF (Rich Text Format)
使用Pull模式导出报表
当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,下面是执行导出功能的代码:
C#代码:
VB.Net代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myReport As CrystalReport1 = New CrystalReport1()
'注意:这里我们建立一个strong-typed的水晶报表实例。
Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()
myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
' 导出成为其它文件时也需要这个选项
' 如Microsoft Exchange, MAPI等.
myReport.ExportOptions.ExportFormatType = CrystalDecisions. [Shared].ExportFormatType.PortableDocFormat
'这里我们导出成为.pdf格式文件,你也能选择上面的其它类型文件
DiskOpts.DiskFileName = "c:\Output.pdf"
'如果你不指定确切的目录,那么文件就会保存到[Windows]\System32目录中去了
myReport.ExportOptions.DestinationOptions = DiskOpts
'水晶报表文件不包含直接的FileName属性,因此你不能直接指定保存的文件名
'所以你不得不使用DiskFileDestinationOptions对象,设置它的DiskFileName属性
'为你想要的路径,最后将水晶报表的DestinationsOptions属性指定为上面的DiskFileDestinationOption
myReport.Export()
'上面的代码将完成导出工作。
End Sub
设置客户端浏览器在本地打印所采用的方法,你可能设置成printmode=pdf了
应该是printmode=ActiveX