使用命令行开关/启动参数在Chrome中打印图像

3

有没有一种方法可以使用命令行开关(启动参数)打开Chrome中的图像URL并在启动时打印该图像。

它可以是无头或非无头的。也可以将其打印到默认打印机上。

这似乎是chrome命令行开关的完整列表, 但我没有看到任何能做到我想要的事情,尽管有大约1300个选项,所以我可能会错过一些东西。

1个回答

2
我发现了一个对于我的特定情况可行的折中方法。我正在使用C#,因此这个答案是针对C#的,但你可能可以将这个想法应用到大多数编程语言中。
我在--kiosk、--kiosk-printing模式下启动Chrome,这会禁用打印对话框。然后我等待Chrome启动。接着我发送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)");
    }
}

我仍然希望有一个不那么幼稚的解决方案,最好只有命令行开关。

好主意!我会在Python中尝试它。你如何退出--kiosk模式? - Hrvoje T
@HrvojeT Ctrl + W 会关闭窗口。据我所知,你无法将 kiosk 模式窗口转换为普通模式。 - Goose
不,我会在打印完成后关闭Chrome。 - Hrvoje T
如果我在WinXP中打开Chrome,它就无法进入kiosk模式。因此,我通过以下方式模拟按下ctrl-p并按enter键: import win32com.client shell = win32com.client.Dispatch("WScript.Shell") shell.SendKeys("{ENTER}", 0) - Hrvoje T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接