[分享]关于水晶报表导出到PDF格式的一个注意事项

因为工作需要,写了一个信息采集程序,然后用水晶报表导出到PDF,客户端点击打印按钮,直接重定向到生成的PDF文档,下载打印。

这一段导出到pdf的程序,是用了很长时间的,没有出现过问题,具体代码如下:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
private void pdfGenerate(DataTable dt,string strRptName)
  {
   CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc
=new ReportDocument();
   rptDoc.Load(
this.Server.MapPath(strRptName + ".rpt"));
   rptDoc.SetDataSource(dt);

   CrystalDecisions.Shared.DiskFileDestinationOptions objFile
=new DiskFileDestinationOptions();
   objFile.DiskFileName
=this.Server.MapPath(@"PDF\" + strRptName + "_" + this.Request.Cookies["cokYXSDM"].Value.Trim()+".pdf");
   rptDoc.ExportOptions.ExportDestinationType
=ExportDestinationType.DiskFile;
   rptDoc.ExportOptions.DestinationOptions
=objFile;
   rptDoc.ExportOptions.ExportFormatType
=ExportFormatType.PortableDocFormat;
   rptDoc.Export();
  }


但是,最近碰到一个问题,我的水晶报表定义成A4横向打印,不知为何,导出的PDF总是A4纵向,导致报表显示不全。一开始,我以为是服务器端没有装打印程序的问题,我在服务器上安装了相关打印机的驱动,在水晶报表设计中选择了该打印机,同时选择A4横向。结果,导出的PDF依然纵向。

查询了相关技术文章,在rptDoc.SetDataSource(dt);语句后面添加了两行代码:

ContractedBlock.gif ExpandedBlockStart.gif Code
   rptDoc.PrintOptions.PaperSize=PaperSize.PaperA4;
   rptDoc.PrintOptions.PaperOrientation
=PaperOrientation.Landscape;

意即在报表文件加载了数据后,设定报表为A4横向。测试导出到文件没有问题了。

这说明,水晶报表导出PDF默认的纸张格式是A4纵向,如果非此纸型的导出,需要在报表文件加载后,用语句特别描述具体的纸型,这样导出的文件才能正常。

其他的导出格式,我没有另行尝试,如果有朋友有兴趣,可以跟帖发一下尝试结果。

转载于:https://www.cnblogs.com/drsniper/archive/2008/06/13/1219336.html

Crystal Reports Crystal Reports 的设计用途是,使用数据库来帮助您分析和解释重 要的信息。Crystal Reports 可以方便地创建简单的报表,并且,它还拥 有生成复杂报表或专用报表所需的一整套工具。 创建所能想象的任何报表 Crystal Reports 几乎可以从任何数据源生成您所需要的报表。内置 报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指 导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助 表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字 确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 -- 您可 以用各种格式来发布报表,其中包括 Microsoft Word 和 Excel,通过 电子邮件发布甚至在 Web 上发布。高级的 Web 报表功能允许工作组中 的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序 通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程 序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 无论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金 融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大 的工具,它可以帮助每一个人分析并解释重要的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值