Добрый день.
Столкнулся с проблемой "висящего" в процессах Acrobat'а при программной отправке на печать pdf-файлов. Ниже пример реализации печати с последующим закрытием Acrobat'а. Может кому-нибудь пригодится.
X++:
static void TestPrintPdf(Args _args)
{
System.Diagnostics.Process printJob;
System.Diagnostics.ProcessStartInfo startInfo;
FileName fileName = @"C:\Test.pdf";
;
try
{
printJob = new System.Diagnostics.Process();
startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.set_FileName(fileName);
startInfo.set_UseShellExecute(true);
startInfo.set_CreateNoWindow(true);
startInfo.set_WindowStyle(System.Diagnostics.ProcessWindowStyle::Hidden);
startInfo.set_Verb("print");
printJob.set_StartInfo(startInfo);
printJob.Start();
if (!printJob.get_HasExited())
{
if (!printJob.WaitForExit(5000))
printJob.Kill();
}
if (printJob)
{
printJob.Close();
printJob.Dispose();
}
}
catch
{
if (printJob)
{
printJob.Close();
printJob.Dispose();
}
}
}