您的位置:首页 > 其它

水晶报表(CrystalReport)自定义纸张格式(custom Papersize)的实现

2006-01-19 15:09 756 查看
发布日期: 19/1/2006

作者:水如烟 http://lzmtw.cnblogs.com

摘要:本文提供一种方法实现水晶报表自定义纸张格式进行预览和打印。

关键词:水晶报表 自定义纸张格式 打印

注意
:本文及其中的代码示例均基于 Microsoft Visual Studio 2005版本。

发现真要动手写成文时,需要做的事还真不少。关键的是手头活紧,不能系统的写。看来还是先贴出关键代码吧,然后看时间来重组。
我现在做出来的对话框如图:
Option Strict Off

Public Shared Function DrawingPapersizeToCryPapersize()Function DrawingPapersizeToCryPapersize(ByVal PrinterName As String, ByVal Papersize As Drawing.Printing.PaperSize) As Integer
Public Shared Function Papersizes()Function Papersizes(ByVal PrinterName As String) As Drawing.Printing.PaperSize()
Public Shared Sub DocumentPrintOptionsToCryPrintOptions()Sub DocumentPrintOptionsToCryPrintOptions(ByVal printOptions As PrintOptions, ByVal cryPrintOptions As CrystalDecisions.CrystalReports.Engine.PrintOptions)
Try
With cryPrintOptions
.PrinterName = printOptions.PrinterName
If printOptions.Papersize.IsLandscape Then
.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape
Else
.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait
End If
.PaperSize = DocumentPapersizeToCryPapersize(printOptions.Papersize) '注意这里,它是Drawing.Printing.Papersize的RawKind值.必须Option Strict Off
.ApplyPageMargins(DocumentMarginsToCryMargins(printOptions.Margins))
End With
Catch ex As Exception

End Try

End Sub
时间关系,暂贴代码至此,以后再补充,包括对话框里的所有功能。

效果图一





效果图二





呵,上头的横纵向颠倒了。

写文章的时间没有了,过两天我将这部分的项目打包供各位下载试用改进.
写得还是比较粗陋,一个人写赶进度的味道很是不好受,BUG肯定多多.希望有心人改进后将结果返馈出来,供我参考,也供各位参考.

其中的一些细节问题没办法深研.比如纸张的增加修改.我略看了Drawing.Printing.PrinterSettings
按道理应该通过它可以实现纸张增删功能的,可是我现在不会.所以,只能是参考别的仁兄的办法,用API.

谢谢各位.
注:对话框中的Margins是临时设定的边距参数,并非是打印服务器中相应纸张格式的Margins.

CSDN相应贴子:
http://community.csdn.net/Expert/topic/4530/4530505.xml?temp=.9733698
http://community.csdn.net/Expert/topic/4520/4520403.xml?temp=.9242823

因为这个问题目前为止我没看到类似的解决方案,虽惭愧,我也发到首页来了.

代码下载(粗粗的)

频频更新界面,很是不好.时间哪,没法了.
纸张格式增删方面的代码,请参考

博客园 - 虫子的一天
http://wormday.cnblogs.com/archive/2005/12/22/302635.html

1月23日代码更新

1月24日10时更新



1月24日13时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐