C # iTextSharp Объединить несколько PDF через байтовый массив
Я новичок в использовании iTextSharp и работе с файлами PDF в целом, но я думаю, что я на правильном пути.
Я перебираю список файлов PDF, преобразую их в байты и помещаю все полученные байты в байтовый массив. Оттуда я передаю байтовый массив в concatAndAddContent (), чтобы объединить все PDF-файлы в один большой PDF-файл. В настоящее время я просто получаю последний pdf в списке (кажется, что он перезаписывается)
public static byte[] concatAndAddContent(List<byte[]> pdfByteContent)
{
byte[] allBytes;
using (MemoryStream ms = new MemoryStream())
{
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
doc.SetPageSize(PageSize.LETTER);
doc.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
PdfReader reader;
foreach (byte[] p in pdfByteContent)
{
reader = new PdfReader(p);
int pages = reader.NumberOfPages;
// loop over document pages
for (int i = 1; i <= pages; i++)
{
doc.SetPageSize(PageSize.LETTER);
doc.NewPage();
page = writer.GetImportedPage(reader, i);
cb.AddTemplate(page, 0, 0);
}
}
doc.Close();
allBytes = ms.GetBuffer();
ms.Flush();
ms.Dispose();
}
return allBytes;
}
Выше приведен рабочий код, в результате которого создается один PDF-файл, а остальные файлы игнорируются. Какие-либо предложения