Я пытаюсь объединить большое количество PDF-файлов, используя iText 7, но я сталкиваюсь с ошибкой, когда количество PDF-файлов превышает 300. Ошибка происходит при слиянии и говорит только «Поток был прерван».
Используется следующий код, и я получил его из документации iText 7:
string root = Path.GetDirectoryName(destFile);
string fileExtension = Path.GetExtension(destFile);
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(destFile);
fileName = fileNameWithoutExtension + "_" + Guid.NewGuid() + fileExtension;
newDestFile = Path.Combine(root, fileName);
iText.Kernel.Pdf.PdfDocument pdf = new iText.Kernel.Pdf.PdfDocument(new PdfWriter(newDestFile));
iText.Kernel.Utils.PdfMerger merger = new PdfMerger(pdf);
foreach (string pdfFile in sourceFiles)
{
iText.Kernel.Pdf.PdfReader pdfReader = new iText.Kernel.Pdf.PdfReader(pdfFile);
iText.Kernel.Pdf.PdfDocument tempPDF = new iText.Kernel.Pdf.PdfDocument(pdfReader);
merger.Merge(tempPDF, 1, tempPDF.GetNumberOfPages());
tempPDF.Close();
}
pdf.Close();