OptionStrictOff PublicSharedFunction DrawingPapersizeToCryPapersize()Function DrawingPapersizeToCryPapersize(ByVal PrinterName AsString, ByVal Papersize As Drawing.Printing.PaperSize) AsInteger Dim mPapersize AsInteger=0'defaultPapersize in Crystal ForEach p As Drawing.Printing.PaperSize In Printing.Papersizes(PrinterName) If p.PaperName = Papersize.PaperName Then mPapersize = p.RawKind ExitFor EndIf Next Return mPapersize End Function
PublicSharedFunction Papersizes()Function Papersizes(ByVal PrinterName AsString) As Drawing.Printing.PaperSize() Dim mPageSetting AsNew Drawing.Printing.PageSettings mPageSetting.PrinterSettings.PrinterName = PrinterName Dim mPapersizes(mPageSetting.PrinterSettings.PaperSizes.Count -1) As Drawing.Printing.PaperSize mPageSetting.PrinterSettings.PaperSizes.CopyTo(mPapersizes, 0) Return mPapersizes End Function
PublicSharedSub 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 EndIf .PaperSize = DocumentPapersizeToCryPapersize(printOptions.Papersize) '注意这里,它是Drawing.Printing.Papersize的RawKind值.必须OptionStrictOff .ApplyPageMargins(DocumentMarginsToCryMargins(printOptions.Margins)) EndWith Catch ex As Exception EndTry End Sub
http://lzmtw.cnblogs.com/archive/2006/01/19/320338.html 作者:水如烟 http://lzmtw.cnblogs.com摘要:本文提供一种方法实现水晶报表自定义纸张格式进行预览和打印。关键词:水晶报表 自定义纸张格式 打印注意:本文及其中的代码示例均基于 Microsoft Visual Studio 2005版本。 发现真要动手写