どのように私はExtraDevicesを使用してIntraweb上のPDFファイルとしてReportBuilderのレポートをストリーミングしていますか?

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

  •  22-09-2019
  •  | 
  •  

質問

私たちは、WebアプリケーションのためのIntrawebを使用しても、社内のWindowsアプリケーションに報告するためのReportBuilderを使用しています。我々はまた、私たちは私たちがExcelファイルとしてのReportBuilderのレポートを保存できるようにするために使用しましたExtraDevicesを持っています。

さて、私はPDFファイルとして弊社のWebアプリケーションにレポートを作成したいのです。私は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;

他のヒント

あなたはIntrawebに同梱ことRaveDemoを見たことがありますか?私はそれはあなたがたがレイヴレポートで探しているものを行いますと信じています。私はしばらく前にIntraweb ReportBuilderのPDF版を構築するためにそれを使用します。

私はそれがレポートをストリームかはわかりません。それは私がそれを見て以来、しばらくして私はそれがディスクに保存ではなく、あなたの例のようにメモリからの応答を送信するかもしれないと思ういます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top