.NET 2.0 asp.net Web サイトで Crystal レポートを使用して、レポートから PDF を作成しています。次に、レポートをブラウザーにストリーミングしたいと思います。これは、既に方法を知っています。どうすればよいかわからないのは、PDFを保持するオブジェクトタグをターゲットにすることです。HTML内でjavascriptまたはその他の方法でこれを行う方法を知っている人はいますか?
与えられることができる助けを前もって感謝します。
.NET 2.0 asp.net Web サイトで Crystal レポートを使用して、レポートから PDF を作成しています。次に、レポートをブラウザーにストリーミングしたいと思います。これは、既に方法を知っています。どうすればよいかわからないのは、PDFを保持するオブジェクトタグをターゲットにすることです。HTML内でjavascriptまたはその他の方法でこれを行う方法を知っている人はいますか?
与えられることができる助けを前もって感謝します。
私がしなければならないことを見つけた後、戻ってきてこれに答えたかった. 別の aspx ページを作成し、PDFView.aspx という名前にする必要がありました。次に、コードを PageLoad イベントに追加しました。
if (!IsPostBack)
{
ReportDocument rpt;
rpt = (ReportDocument)Session["CrystalReport"];
System.IO.Stream myStream;
CrystalDecisions.Shared.ExportOptions myExportOptions;
myExportOptions = myReport.ExportOptions;
myExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
myExportOptions.FormatOptions = new CrystalDecisions.Shared.PdfRtfWordFormatOptions();
CrystalDecisions.Shared.ExportRequestContext myExportRequestContext = new CrystalDecisions.Shared.ExportRequestContext();
myExportRequestContext.ExportInfo = myExportOptions;
//SetReportParameter("pPrinterFriendly", true, (ReportClass)myReport);
System.Web.HttpContext.Current.Response.ClearContent();
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.ContentType = "application/pdf";
myStream = myReport.FormatEngine.ExportToStream(myExportRequestContext);
Byte[] myBuffer = new Byte[myStream.Length];
myStream.Read(myBuffer, 0, (int)myStream.Length);
System.Web.HttpContext.Current.Response.BinaryWrite(myBuffer);
System.Web.HttpContext.Current.Response.Flush();
}
呼び出し元の aspx ページですべてのパラメーターとデータソースを設定するレポート オブジェクトを作成し、PDFView.aspx ページが読み込まれたときに取得するためにレポートをセッション変数に書き込みました。次に、上記のコードを使用して、レポートを取得、実行し、バイナリ ストリーム「バイナリ PDF」としてブラウザの応答ストリームにストリーミングしました。
PDFView.aspx ページは、次のような object タグを使用して呼び出しページで参照されます。
<object id="pdfObj" type="application/pdf" style="width:60%;height:95%;position:relative;top:2%;left:0%;right:10%;bottom:10%;margin:0px;padding:0px;border:0px;" data="PDFView.aspx"></object>