Using Reportbuilder for Delphi, is it possible to print landscape and portrait within the same report?
We're using Reportbuilder for Delphi and I have a report, made up of several smaller subreports, set up to print landscape. Is there a way to make the first subreport print in portrait, whilst the others print landscape?
I have tried setting开发者_Python百科 the orientation on the TppReport PrinterSetup object before it prints and this seemed to work at first, however it caused problems with printing the report, and exporting it to PDF.
Thanks!
Yes it is possible. In report design for main, uncheck ParentPrinterSetup
for the sub reports.
Set poLandscape
or poPortrait
in PrinterSetup
for the sub report from the sub report tab.
Tested with ReportBuilder 12.03, Delphi XE and Foxit 4.1.1
Edit 1 Also tested with D2007 and ReportBuilder 10.07. No and problem printing to pdf with first subreport as portrait and second subreport as landscape.
Here is the dfm containing the report definition I tested with.
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 176
ClientWidth = 377
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object ppReport1: TppReport
PrinterSetup.BinName = 'Default'
PrinterSetup.DocumentName = 'Report'
PrinterSetup.PaperName = 'A4'
PrinterSetup.PrinterName = 'Default'
PrinterSetup.mmMarginBottom = 6350
PrinterSetup.mmMarginLeft = 6350
PrinterSetup.mmMarginRight = 6350
PrinterSetup.mmMarginTop = 6350
PrinterSetup.mmPaperHeight = 297000
PrinterSetup.mmPaperWidth = 210000
PrinterSetup.PaperSize = 9
AllowPrintToFile = True
DeviceType = 'Screen'
EmailSettings.ReportFormat = 'PDF'
OutlineSettings.CreateNode = True
OutlineSettings.CreatePageNodes = True
OutlineSettings.Enabled = True
OutlineSettings.Visible = True
TextSearchSettings.DefaultString = '<FindText>'
TextSearchSettings.Enabled = True
Left = 112
Top = 32
Version = '10.07'
mmColumnWidth = 0
object ppDetailBand1: TppDetailBand
PrintHeight = phDynamic
mmBottomOffset = 0
mmHeight = 30692
mmPrintPosition = 0
object ppSubReport2: TppSubReport
UserName = 'SubReport2'
ExpandAll = False
NewPrintJob = False
OutlineSettings.CreateNode = True
ParentPrinterSetup = False
PrintBehavior = pbSection
TraverseAllData = False
mmHeight = 5027
mmLeft = 0
mmTop = 5292
mmWidth = 197300
BandType = 4
mmBottomOffset = 0
mmOverFlowOffset = 0
mmStopPosition = 0
object ppChildReport2: TppChildReport
PrinterSetup.BinName = 'Default'
PrinterSetup.DocumentName = 'Report'
PrinterSetup.PaperName = 'A4'
PrinterSetup.PrinterName = 'Default'
PrinterSetup.mmMarginBottom = 6350
PrinterSetup.mmMarginLeft = 6350
PrinterSetup.mmMarginRight = 6350
PrinterSetup.mmMarginTop = 6350
PrinterSetup.mmPaperHeight = 297000
PrinterSetup.mmPaperWidth = 210000
PrinterSetup.PaperSize = 9
Version = '10.07'
mmColumnWidth = 0
object ppDetailBand3: TppDetailBand
mmBottomOffset = 0
mmHeight = 13229
mmPrintPosition = 0
object ppLabel2: TppLabel
UserName = 'Label2'
Border.BorderPositions = []
Border.Color = clBlack
Border.Style = psSolid
Border.Visible = False
Caption = 'Label2'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Name = 'Arial'
Font.Size = 12
Font.Style = []
Transparent = True
mmHeight = 4868
mmLeft = 10054
mmTop = 3440
mmWidth = 12785
BandType = 4
end
end
end
end
object ppSubReport1: TppSubReport
UserName = 'SubReport1'
ExpandAll = False
NewPrintJob = False
OutlineSettings.CreateNode = True
ParentPrinterSetup = False
PrintBehavior = pbSection
TraverseAllData = False
mmHeight = 5027
mmLeft = 0
mmTop = 18256
mmWidth = 197300
BandType = 4
mmBottomOffset = 0
mmOverFlowOffset = 0
mmStopPosition = 0
object ppChildReport1: TppChildReport
PrinterSetup.BinName = 'Default'
PrinterSetup.DocumentName = 'Report'
PrinterSetup.Orientation = poLandscape
PrinterSetup.PaperName = 'A4'
PrinterSetup.PrinterName = 'Default'
PrinterSetup.mmMarginBottom = 6350
PrinterSetup.mmMarginLeft = 6350
PrinterSetup.mmMarginRight = 6350
PrinterSetup.mmMarginTop = 6350
PrinterSetup.mmPaperHeight = 210000
PrinterSetup.mmPaperWidth = 297000
PrinterSetup.PaperSize = 9
Version = '10.07'
mmColumnWidth = 0
object ppDetailBand2: TppDetailBand
mmBottomOffset = 0
mmHeight = 13229
mmPrintPosition = 0
object ppLabel1: TppLabel
UserName = 'Label1'
Border.BorderPositions = []
Border.Color = clBlack
Border.Style = psSolid
Border.Visible = False
Caption = 'Label1'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Name = 'Arial'
Font.Size = 12
Font.Style = []
Transparent = True
mmHeight = 4868
mmLeft = 11906
mmTop = 2646
mmWidth = 12785
BandType = 4
end
end
end
end
end
end
end
精彩评论