Запретить чтение PDF-файлов по умолчанию после вызова PrintTo c # - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь создать программу, которая отправляет PDF-файл на термопринтер. Проблема заключается в том, что после отправки файла на принтер программа чтения PDF-файлов по умолчанию (в данном случае программа чтения foxit) всегда открыта и неуправляема. И да, я уже потратил несколько дней на поиск, но у меня ничего не работает.

Кроме того, я попытался отключить свойство «Просмотр результатов PDF» на Foxit Reader PDF Printer, но, похоже, оно не работает.

Вот мой простой код:

 System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(@"D:\test.pdf");
            info.Arguments = "\"XP-58\"";
            info.CreateNoWindow = true;
            info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            info.UseShellExecute = true;
            info.Verb = "PrintTo";

            PrintProcess p = new PrintProcess();
            p.StartInfo = info;
            p.EnableRaisingEvents = true;
            p.Start();
            p.WaitForInputIdle(1500);
            p.Stop();

1 Ответ

0 голосов
/ 02 ноября 2018

Теперь я могу полностью закрыть PDF-ридер (Foxit Reader) или любой другой, используя этот способ. Но, продолжая искать другого, можно выполнить эту задачу молча, не открывая, а затем закрывая ее.

private static bool KillAdobe(string name)
    {
        foreach (Process clsProcess in Process.GetProcesses().Where(
                     clsProcess => clsProcess.ProcessName.StartsWith(name)))
        {
            clsProcess.Kill();
            return true;
        }
        return false;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...