Delphi 报表生成器打印文件类型
我有一个关于报表生成器的问题,因为我们将其用于报表目的 在打印预览屏幕的左上角有一个打印机图标。点击它打开打印对话框,其中有“打印到文件”选项。在该选项中,您可以选择类型(PDF文件、XLS报告文件等)。我的问题是:“是否有可能在运行时知道用户选择了哪种类型?”。换句话说,我需要知道他是选择了“PDF文件”还是“XLS报告文件”或其他什么 我试图在ppReportBeforePrint事件中捕获ppReport.DeviceType属性,但对于所有类型的导出,它都显示“Printer” 为了更好地理解,我附上了打印对话框的屏幕截图 我们在Windows 8.1下使用Delphi XE3+报表生成器15.03Delphi 报表生成器打印文件类型,delphi,delphi-xe3,reportbuilder,Delphi,Delphi Xe3,Reportbuilder,我有一个关于报表生成器的问题,因为我们将其用于报表目的 在打印预览屏幕的左上角有一个打印机图标。点击它打开打印对话框,其中有“打印到文件”选项。在该选项中,您可以选择类型(PDF文件、XLS报告文件等)。我的问题是:“是否有可能在运行时知道用户选择了哪种类型?”。换句话说,我需要知道他是选择了“PDF文件”还是“XLS报告文件”或其他什么 我试图在ppReportBeforePrint事件中捕获ppReport.DeviceType属性,但对于所有类型的导出,它都显示“Printer” 为了更好
要分离导出类型,可以使用以下代码:
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;
要分离导出类型,可以使用以下代码:
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;