Я думаю, что метод PrintDocument.Print () только отправляет документ в очередь принтера.Он не ждет, пока он на самом деле напечатает.
Но вы можете использовать событие PrintDocument.EndPrint , чтобы получать уведомления о печати страницы.Вы можете использовать уведомление, чтобы удалить каждый файл после его печати.Это было мое раннее предложение.
Однако, если ваша программа только выполняет эту задачу, а затем завершает работу, она все равно не будет работать.В этом случае вам нужно остановить выполнение, пока оно не будет сделано.Это немного сложнее, но должно быть возможно при использовании CountdownEvent .
В вашем случае это может выглядеть примерно так:
PrintDocument pd = new PrintDocument();
CountdownEvent countdown = new CountdownEvent(this.PathsJPG.Length);
for (int i = 0; i < this.PathsJPG.Length; i++) {
currentpath = getCurrentPath(i);
pd.PrintPage += PrintPage;
pd.EndPrint += (o,e) => { countdown.Signal(); }
pd.Print();
}
countdown.Wait();
Последняя строка должназаблокируйте вашу программу, пока все страницы не будут напечатаны.После этого вы сможете удалить файлы.