Я хочу суммировать гибкое количество файлов PDF, которые пользователь может добавить в форму. Для контролируемого количества файлов, которыми я могу управлять, но я бы хотел, чтобы он был гибким.
Вот как я делаю это сейчас для 2 файлов PDF:
private void MergePdf_DragDrop(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
if (files.Length > 1) {return; }
using (PdfDocument outPdf = new PdfDocument())
using (PdfDocument pdf0 = PdfReader.Open(files[0], PdfDocumentOpenMode.Import))
using (PdfDocument pdf1 = PdfReader.Open(files[1], PdfDocumentOpenMode.Import))
{
CopyPages(pdf0, outPdf);
CopyPages(pdf1, outPdf);
outPdf.Save("file1and2.pdf");
}
}
void CopyPages(PdfDocument from, PdfDocument to)
{
for (int i = 0; i < from.PageCount; i++)
{
to.AddPage(from.Pages[i]);
}
}
Теперь я бы хотел обновите код, чтобы пользователю было разрешено удалить любое количество файлов. Это означало бы, что мне нужно создать больше pdf[i]
переменных в зависимости от размера моего массива files[]
.
Возможно ли это в c# или я должен просто создать 100 из этих переменных и сделать try{} catch{}
на всех из них?