我尝试从rdlc报告中连接2个PDF数据。
问题是结果是空白页。
我不知道为什么,请有人帮忙。
这是我的代码:
private ActionResult ConcatPdf(byte[] pdfData1, byte[] pdfData2)
{
MemoryStream ms1 = new MemoryStream(pdfData1);
MemoryStream ms2 = new MemoryStream(pdfData2);
PdfDocument inputDoc1 = PdfReader.Open(ms1, PdfDocumentOpenMode.Import);
PdfDocument inputDoc2 = PdfReader.Open(ms2, PdfDocumentOpenMode.Import);
PdfDocument outputDoc = new PdfDocument();
foreach (PdfPage page in inputDoc1.Pages)
{
outputDoc.AddPage(page);
}
foreach (PdfPage page in inputDoc2.Pages)
{
outputDoc.AddPage(page);
}
MemoryStream outputMs = new MemoryStream();
outputDoc.Save(outputMs);
return File(outputMs.ToArray(), "application/pdf");
}
在“生成报告”函数中,代码看起来像这样:
public ActionResult TestPDF(int id)
{
// Set report path.
LocalReport rep = viewer.LocalReport;
rep.ReportPath = Server.MapPath("~/Reports/rptExternalTransferIndividual.rdlc");
rep.DataSources.Clear();
//
// Set data and parameter to report.
//
...
...
return ConcatPdf(viewer.LocalReport.Render("PDF"), viewer.LocalReport.Render("PDF"));
}
"<DeviceInfo><OutputFormat>PDF</OutputFormat><HumanReadablePDF>True</HumanReadablePDF></DeviceInfo>"
即可。 - Dan Jagnow