Process.Start дает файл, не указанный в ядре .net

Я хочу сделать печать в ядре .net. Для этого я использую Process из System.Diagnostics. Я попробовал следующий код ниже:

var printJob = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = path,
        UseShellExecute = true,
        Verb = "print",
        CreateNoWindow = true,
        WindowStyle = ProcessWindowStyle.Hidden,
        WorkingDirectory = Path.GetDirectoryName(path)
    }

};

Но свойство Verb отсутствует в StartInfo в ядре .net. Тогда я решил сделать печать следующим образом:

Process.Start("LPR -S ip -P 'Star TSP800L Peeler (TSP828L)' -o 'D:\testpdf.pdf'");

Но это дает мне

Система не может найти указанный файл

тогда как файл присутствует в данном месте.

Прямо сейчас я пытаюсь протестировать локальный принтер на моем компьютере с Windows 10, но мне нужно печатать на сетевой принтер с компьютера с Ubuntu.

Может кто-нибудь сказать мне, почему я получаю сообщение об ошибке «файл не найден». Я нашел следующую ссылку, но она использует StartInfo, что в данном случае мне не помогает.

Process.Start в C# система не может найти указанный файл ошибка

Ошибка в Process.Start() -- система не может найти указанный файл


person Purnima Naik    schedule 26.09.2016    source источник
comment
команда lpr не работает в моей программе C#   -  person huse.ckr    schedule 26.09.2016
comment
Теперь, когда я печатаю на локальный принтер, я получаю сообщение о том, что сервер печати недоступен или указанный принтер не существует? Я использую следующую команду: lpr -S my_machine_ip -P Star TSP800L Peeler (TSP828L) -o l D:\\testpdf.pdf   -  person Purnima Naik    schedule 26.09.2016