2013-10-27 2 views
0

Я хочу, чтобы экспортировать отчет в несколько страниц (FastReport) с изображением отчетовэкспорт FastReport к изображению в многостраничной сообщает

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

с одной страницы в порядке, но многостраничные отчеты имеют эту ошибку:

пустым путём не является законным

Есть идеи решить это ?!

+0

что переменная 'result'? Это имя потока или файла? – kmatyaszek

+0

@kmatyaszek Это поток –

ответ

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++; 
    } 
}