我们正在为 Delphi 使用 Reportbuilder,我有一个报告,由几个较小的子报告组成,设置为打印横向。有没有办法让第一个子报表以纵向打印,而其他子报表打印横向?
我尝试在 TppReport PrinterSetup 对象打印之前设置它的方向,这似乎一开始可以工作,但是它导致了打印报告并将其导出为 PDF 的问题。
谢谢!
我们正在为 Delphi 使用 Reportbuilder,我有一个报告,由几个较小的子报告组成,设置为打印横向。有没有办法让第一个子报表以纵向打印,而其他子报表打印横向?
我尝试在 TppReport PrinterSetup 对象打印之前设置它的方向,这似乎一开始可以工作,但是它导致了打印报告并将其导出为 PDF 的问题。
谢谢!
是的,有可能。在主报表设计中,取消选中ParentPrinterSetup
子报表。
从子报告选项卡
设置poLandscape
或poPortrait
输入子报告。PrinterSetup
使用 ReportBuilder 12.03、Delphi XE 和 Foxit 4.1.1 测试
编辑 1 还使用 D2007 和 ReportBuilder 10.07 进行了测试。第一个子报表为纵向,第二个子报表为横向,打印到 pdf 没有问题。
这是包含我测试过的报告定义的 dfm。
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