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

Google chrome 使用命令行开关/启动参数使用Chrome打印图像,google-chrome,command-line,printing,headless-browser,google-chrome-headless,Google Chrome,Command Line,Printing,Headless Browser,Google Chrome Headless,是否有一种方法可以使用Chrome打开图像url,并在启动时使用命令行开关(启动参数)打印该图像 它可以是无头的,也可以是无头的。打印到默认打印机也可以 ,但我看不到任何东西能达到我想要的效果,尽管有大约1300个选项,所以我可能遗漏了一些东西。我找到了一个适合我具体情况的傻瓜工作方法。我使用的是C语言,所以这个答案是C语言特有的,尽管你可以将这个想法应用到大多数语言中 我在--kiosk,--kiosk打印模式下启动chrome,该模式禁用打印对话框。然后我等待chrome启动。然后我发送CT

是否有一种方法可以使用Chrome打开图像url,并在启动时使用命令行开关(启动参数)打印该图像

它可以是无头的,也可以是无头的。打印到默认打印机也可以


,但我看不到任何东西能达到我想要的效果,尽管有大约1300个选项,所以我可能遗漏了一些东西。

我找到了一个适合我具体情况的傻瓜工作方法。我使用的是C语言,所以这个答案是C语言特有的,尽管你可以将这个想法应用到大多数语言中

我在
--kiosk,--kiosk打印
模式下启动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模式?@HrvojeT Ctrl+W将关闭窗口。据我所知,你无法将kiosk模式窗口转换为正常模式。Np,如果在WinXP中Chrome没有进入kioks模式之前打开Chrome,我会在打印后杀死Chrome。因此,我模拟按ctrl-p,然后输入import win32com.client shell=win32com.client.Dispatch(“WScript.shell”)shell.SendKeys(“{enter}”,0)