Я использую веб-службы MS SQL сервера отчетов для создания отчетов в формате PDF:Как загрузить 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 библиотеке, извините :-) – Davecz