Показать сообщение отдельно
Старый 05.05.2014, 14:36  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Закрытие Acrobat при печати pdf
Добрый день.

Столкнулся с проблемой "висящего" в процессах 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();
        }
    }
}
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 05.05.2014 в 14:51.
За это сообщение автора поблагодарили: Logger (3), Veter (1), kpoxa (1).