Как передать отчеты ReportBuilder в формате PDF в Intraweb с помощью ExtraDevices?

StackOverflow https://stackoverflow.com/questions/1595803

  •  22-09-2019
  •  | 
  •  

Вопрос

Мы используем Intraweb для наших веб-приложений, а также используем ReportBuilder для создания отчетов для наших внутренних приложений Windows.У нас также есть ExtraDevices, которые мы использовали, чтобы сохранять отчеты ReportBuilder в виде файлов Excel.

Теперь я хочу создать отчет о наших веб-приложениях в формате PDF.У меня есть пример того, как это делается с помощью ExtraDevices.Однако как следующий пример изменится с помощью Intraweb?

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; Request:
  TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
  HD: TPDFDevice;
  MS: TMemoryStream;
begin
  MS := TMemoryStream.Create;
  HD := TPDFDevice.Create(Self);
  HD.PrintToStream := True;
  HD.ReportStream := MS;
  HD.Publisher := Rpt.Publisher;
  Rpt.PrintToDevices;
  Response.ContentType := HD.ContentType;
  Response.ContentStream := MS;
  Response.SendResponse;
  HD.Free;
end;
Это было полезно?

Решение

Думаю, я нашел ответ на свой вопрос.Мне просто нужно использовать TIWApplication.SendStream.

Код будет изменен следующим образом:

procedure TfrmSomeIWForm.SomeBtnClick(Sender: TObject);
var
  HD: TPDFDevice;
  MS: TMemoryStream;
begin
  MS := TMemoryStream.Create;
  HD := TPDFDevice.Create(Self);
  HD.PrintToStream := True;
  HD.ReportStream := MS;
  HD.Publisher := Rpt.Publisher;
  Rpt.PrintToDevices;
  WebApplication.SendStream(MS,false,HD.ContentType);
  HD.Free;
end;

Другие советы

Вы видели RaveDemo, поставляемую с Intraweb?Я считаю, что он делает то, что вы ищете, но с Rave Reports.Некоторое время назад я использовал его для создания PDF-версии Intraweb ReportBuilder.

Однако я не уверен, транслирует ли он отчет.Прошло много времени с тех пор, как я на него смотрел, но думаю, что он может сохранить его на диск, а не отправлять ответ из памяти, как в вашем примере.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top