【发布时间】:2015-03-28 10:09:52
【问题描述】:
我正在使用 MS SQL Report Server Web 服务生成 PDF 格式的报告:
byte[] Input;
ReportServer report = new ReportServer(serverUrl + @"/ReportExecution2005.asmx", reportPath);
Input = report.RenderToPDF(reportParamNames, reportParamValues);
此服务返回一个带有 pdf 文件的字节数组。
我需要将此字节数组加载到 iTextSharp:
using (MemoryStream ms = new MemoryStream(Input)) {
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
doc.Open();
...
}
这似乎没问题,但我正在尝试在此 PDF 中添加附件:
PdfFileSpecification pfs = PdfFileSpecification.FileEmbedded(writer, xmlInputFile, xmlFileDisplayName, null);
writer.AddFileAttachment(pfs);
这看起来也不错,但是当我将流保存到文件时,生成的 pdf 不正确。
请注意,文件附件将始终是一个 XML 文件,我需要在内存中创建它,并且永远不会在文件系统中。如何使用 iTextSharp 做到这一点?
【问题讨论】:
-
我什至不知道从哪里开始,你的代码都是错误的,你需要使用 PdfStamper,创建一个新的 PDF 并阅读文档。
-
我是 iTextSharp 库的新手,抱歉 :-)
标签: c# pdf reporting-services itextsharp