报表生成器PrintToFile类型

时间:2016-07-18 01:53:44

标签: delphi delphi-xe3 reportbuilder

我对Report Builder有疑问,因为我们将其用于报告目的。

在“打印预览”屏幕中,左上角有一个打印机图标。单击它将打开“打印”对话框,其中显示“打印到文件”选项。在该选项中,您可以选择类型(PDF文件,XLS报告文件等)。我的问题是:“在运行类型中是否有可能知道Type用户选择了什么?”。换句话说,我需要知道他是选择“PDF文件”还是“XLS报告文件”还是其他什么?

我试图在ppReportBeforePrint事件中捕获ppReport.DeviceType属性,但它显示所有类型导出的“打印机”。

我附上了“打印”对话框的屏幕截图,以便更好地理解。

我们在Windows 8.1下使用Delphi XE3 + Report Builder 15.03。

enter image description here

1 个答案:

答案 0 :(得分:0)

要分隔导出类型,您可以使用以下代码:

procedure TForm1.ppReport1BeforePrint(Sender: TObject);
begin
  if ppReport1.DeviceType = 'Screen' then
    // Preview Report on the Screen
  else if ppReport1.DeviceType = 'Printer' then
  begin
    if (ppReport1.FileDevice is TppXLSReportDevice) then
      // Export to Excel
    else if (ppReport1.FileDevice is TppPDFDevice) then
      // Export to PDF
  end;
end;

要在预览屏幕上启用打印机按钮,请使用:

ppReport1.AllowPrintToFile := True;