我正在运行多个报告并将它们合并为一个PDF文件。对于每个报告,我将数据源,参数和报告路径传递给以下内容。结果是具有正确页数的PDF文件,但所有页面都是空白的。我错过了什么?
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);
}
}
答案 0 :(得分:3)
请尝试使用此主题中所述的其他设置生成报告: http://forum.pdfsharp.net/viewtopic.php?p=1613#p1613
如果您向我们提供了一些无效的文件,我们可以尝试在PDFsharp中修复此问题。
答案 1 :(得分:-1)
您需要更改字符串deviceInfo = null;
到deviceInfo="<DeviceInfo><HumanReadablePDF>True</HumanReadablePDF></DeviceInfo>";