Я пытаюсь сохранить текстовый документ в формате PDF и открыть его в моем приложении C # WPF. Это работает, но иногда на некоторых компьютерах блокирует Acrobat Reader.
В диспетчере задач я вижу два приостановленных процесса Acrobat Reader.
И, кроме того, я не могу открыть файл PDF, даже дважды щелкнув по нему, пока не убьём эти два приостановленных процесса.
Файл PDF создан успешно, я могу открыть его после того, как убил приостановленный процесспроцессы.
Что-то не так в моем коде?
Вот что я делаю:
Microsoft.Office.Interop.Word.Application app = null;
Microsoft.Office.Interop.Word.Document doc = null;
try
{
string pth = Tools.UploadedFilesPath + @"\UserFiles\WordTemplates\QuoteTemplate.docx";
if (File.Exists(pth))
{
string tempPath = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".docx";
System.IO.File.Copy(pth, tempPath);
var pdfPath = tempPath.Replace(Path.GetFileName(tempPath), "Devis_" + string.Format("{0:dd_MM_yyyy}", quote.Quot_Date) + "_" + quote.Quot_Ref + "_" + Guid.NewGuid().ToString().Substring(0, 5) + ".pdf");
//Here, I save the pdf. No error, I find the file in the folder.
doc.SaveAs2(pdfPath, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);
doc.Close();
app.Quit();
System.Diagnostics.Process.Start(pdfPath);
}
else
UserMethods.ShowWarning("Le fichier 'Modèle devis' n'est pas trouvable");
}
catch (Exception ex)
{
UserMethods.ParseError(ex, "PrintQuote");
if (doc != null)
doc.Close();
if (app != null)
app.Quit();
}