複数ページのレポート (FastReport) を画像にエクスポートしたい
var stream = new MemoryStream();
rpt.Export(new ImageExport(), result);
1 ページのレポートは問題ありませんが、複数ページのレポートには次のエラーがあります。
空のパス名は無効です
これを解決するアイデアはありますか?!
複数ページのレポート (FastReport) を画像にエクスポートしたい
var stream = new MemoryStream();
rpt.Export(new ImageExport(), result);
1 ページのレポートは問題ありませんが、複数ページのレポートには次のエラーがあります。
空のパス名は無効です
これを解決するアイデアはありますか?!
ストリームではなくパスを使用する必要があります。
パスの例:
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++;
}
}