Печать изображения с помощью Chrome с использованием параметров командной строки / аргументов запуска

Есть ли способ открыть URL-адрес изображения с помощью Chrome и распечатать это изображение при запуске с помощью переключателей командной строки (аргументы запуска).

Он может быть без головы или без головы. Печать на принтере по умолчанию также работает нормально.

Похоже, это полный список переключателей командной строки Chrome, но я не вижу ничего, что делало бы именно то, что мне хотелось бы, хотя вариантов около 1300, так что я мог что-то упустить.




Ответы (1)


Я нашел дурацкую работу, которая работает для моей конкретной ситуации. Я использую С#, поэтому этот ответ специфичен для С#, хотя вы, вероятно, могли бы применить эту идею к большинству языков.

Я запускаю хром в режиме --kiosk, --kiosk-printing, который отключает диалог печати. Затем я жду, пока хром запустится. Затем я отправляю клавиши CTRL + P. Полный метод выглядит так.

public void printImageUrlWithChrome(string url)
{
    using (var process = new Process())
    {
        // Start Chrome in kiosk with kiosk printing (no printing confirmation window)
        process.StartInfo.FileName = Properties.Settings.Default.googleChrome;
        process.StartInfo.Arguments = url + " --kiosk --kiosk-printing";
        process.Start();

        // Wait for Kiosk to load
        int millisecondWaitForChrome = 1000;
        System.Threading.Thread.Sleep(millisecondWaitForChrome)

        // Send CTRL + p
        SendKeys.Send("^(p)");
    }
}

Я бы все же предпочел менее глупое решение, желательно что-то только с командными переключателями.

person Goose    schedule 10.10.2017
comment
Хорошая идея! Я попробую это в Python. Как выйти из режима --kiosk? - person Hrvoje T; 14.10.2017
comment
@HrvojeT Ctrl + W закроет окно. Насколько я знаю, вы не можете преобразовать окно режима киоска в обычный режим. - person Goose; 14.10.2017
comment
Нп, я убью Хром после печати - person Hrvoje T; 14.10.2017
comment
Если я открою Chrome до того, как он перейдет в режим киокса в WinXP. Итак, я имитирую нажатие ctrl-p, а затем ввод с помощью import win32com.client shell = win32com.client.Dispatch(WScript.Shell) shell.SendKeys({ENTER}, 0) - person Hrvoje T; 16.10.2017