Я конвертирую файл .txt в pdf, и мне нужно отобразить pdf пользователю. Для этого я создал временный файл .pdf и создал процесс для открытия файла. Это прекрасно работает, когда установлен Adobe Acrobat. Это не удается, когда нет приложения по умолчанию. В моем случае pdf-файл открывается в Internet Explorer, и я получаю исключение Ни один процесс не связан с этим объектом. Есть ли другой способ узнать, когда файл закрывается, чтобы я мог удалить его позже.
Мой код такой.
HtmlToPdf htmlToPdf = new HtmlToPdf(pdfPrintOptions);
string tmpFileName = "zx" + DateTime.Now.Ticks + "x.pdf";
//Iron pdf does not handle in-memory pdf viewing
//convert it to pdf
htmlToPdf.RenderHTMLFileAsPdf(fileWithPath).SaveAs(tmpFileName);
// TempFileCollection tmpFileCollection = new TempFileCollection();
//Use windows process to open the file
Process pdfViewerProcess = new Process
{
EnableRaisingEvents = true, StartInfo = {FileName = tmpFileName}
};
pdfViewerProcess.Start();
pdfViewerProcess.WaitForExit(); **Failing in this line**
//Delete temporary file after the viewing windows is closed
if (File.Exists(tmpFileName))
{
File.Delete(tmpFileName);
}
Подобные вопросы, похоже, не дают решения этой проблемы. Любая помощь будет оценена. Спасибо.