0

複数ページのレポート (FastReport) を画像にエクスポートしたい

var stream = new MemoryStream();
rpt.Export(new ImageExport(), result);

1 ページのレポートは問題ありませんが、複数ページのレポートには次のエラーがあります。

空のパス名は無効です

これを解決するアイデアはありますか?!

4

1 に答える 1

0

ストリームではなくパスを使用する必要があります。

パスの例:

using (FastReport.Report report = new FastReport.Report())
{
    report.Load(@"C:\test.frx");

    report.Prepare();                               
    report.Export(new FastReport.Export.Image.ImageExport(), "myReport.png");             
}

レポートに複数のページがある場合、次のファイルが作成されます。

myReport.png
myReport.2.png
myReport.3.png
...

これがストリームを使用したソリューションです。適切な値を設定してPageRange = PageRange.Current設定する必要があります。CurPage

int count = 1;
using (FastReport.Report report = new FastReport.Report())
{
    report.Load(@"C:\test.frx");
    report.Prepare();

    foreach (PageBase item in report.Pages)
    {
        string fileName = string.Format("myReport_{0}.png", count);
        report.Export(new FastReport.Export.Image.ImageExport() { PageRange = PageRange.Current, CurPage = count }, fileName);
        count++;
    }
}
于 2013-10-28T19:50:01.963 に答える