2012-03-20 3 views
4

Я запускаю несколько отчетов и объединяя их в один файл PDF. Для каждого отчета я передаю источник данных, параметры и путь отчета к следующему. Результатом является файл PDF с правильным количеством страниц, но все страницы пусты. Что мне не хватает?Предоставление нескольких отчетов .rdlc в один PDF с помощью PDFSharp

LocalReport report = null; 
PdfDocument pdfDoc = new PdfDocument(); 

private void ProcessReport(
    ReportDataSource reportDS, 
    ReportParameter[] reportParms, 
    string reportPath) 
{ 
    string format = "PDF"; 
    string deviceInfo = null; 
    string encoding = String.Empty; 
    string mimeType = String.Empty; 
    string extension = String.Empty; 
    Warning[] warnings = null; 
    string[] streamIDs = null; 

    report = new LocalReport(); 
    report.EnableExternalImages = true; 
    report.ReportPath = reportPath; 

    if (reportParms != null) 
     report.SetParameters(reportParms); 

    if (reportDS != null) 
     report.DataSources.Add(reportDS); 

    Byte[] pdfArray = report.Render(
     format, 
     deviceInfo, 
     out mimeType, 
     out encoding, 
     out extension, 
     out streamIDs, 
     out warnings); 

    //Stream s = new MemoryStream(pdfArray); 
    MemoryStream ms = new MemoryStream(pdfArray); 

    PdfDocument tempPDFDoc = PdfReader.Open(ms, PdfDocumentOpenMode.Import); 

    for (int i = 0; i < tempPDFDoc.PageCount; i++) 
    { 
     PdfPage page = tempPDFDoc.Pages[i]; 
     pdfDoc.AddPage(page); 
    } 
} 

ответ

3

Пожалуйста, попробуйте сгенерировать отчеты с другими настройками, как описано в этой теме: http://forum.pdfsharp.net/viewtopic.php?p=1613#p1613

Если вы предоставите нам некоторые файлы, которые не работают, мы можем попытаться исправить это в PDFsharp.

+0

Не знаете, куда поместить '« True»' (Как уже упоминалось в связи с учетом) этот код, может кто-нибудь поделиться код, где эти изменения происходят? благодаря –

-1

Вам необходимо изменить строку deviceInfo = null; к deviceInfo="<DeviceInfo><HumanReadablePDF>True</HumanReadablePDF></DeviceInfo>";

Смежные вопросы