После этих двух строк:
string dest = targetDirectory + @"\Merged.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Новый (пустой) файл с именем «Merged.pdf» создается в вашей целевой директории, и поток файлов открывается в режиме записи для записи результатапроцесс слияния.
Затем вы получаете список файлов в целевой директории с string[] fileEntries = Directory.GetFiles(targetDirectory);
.Этот массив уже содержит ваш недавно созданный файл Merged.pdf
.
В конце концов код пытается объединить результирующий файл с самим собой, что явно не удается.
Чтобы избежать этой ошибки, либо соберите файлы для слияния, прежде чем создавать целевой документ (но убедитесь, чтов целевом каталоге уже нет файла «Merged.pdf»):
string[] fileEntries = Directory.GetFiles(targetDirectory);
string dest = targetDirectory + @"\Merged.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
// The rest of the code
Или просто вручную удалите целевой файл из массива fileEntries
перед объединением файлов.