2016-07-18 11 views
1

У меня есть вопрос о построителе отчетов, поскольку мы используем его для наших целей отчетности.Report Builder PrintToFile Types

На экране предварительного просмотра печати находится значок принтера в верхнем левом углу. При нажатии на него открывается диалоговое окно «Печать», где есть опция «Печать в файл». В этом параметре вы можете выбрать тип (файл PDF, файл отчета XLS и т. Д.). Мой вопрос: «Есть ли возможность узнать в типе запуска, который выбрал пользователь типа?». Другими словами, мне нужно знать, выбрал ли он «файл PDF» или «файл отчета XLS» или что-то еще?

Я попытался поймать свойство ppReport.DeviceType в событии ppReportBeforePrint, но он показывает «Принтер» для всех типов экспорта.

Я приложил скриншот диалогового окна «Печать» для лучшего понимания.

Мы используем Delphi XE3 + Report Builder 15.03 под Windows 8.1.

enter image description here

ответ

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;