回答

1

我发现了一个愚蠢的解决方案,适用于我的具体情况。我使用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)"); 
    } 
} 

仍然更喜欢不太高调的解决方案,最好是只有命令开关的东西。

+0

好主意!我会在Python中试用它。你如何退出--kiosk模式? –

+0

@HrvojeT Ctrl + W将关闭窗口。就我所知,您无法将Kiosk模式窗口转换为正常模式。 – Goose

+0

Np,我会在打印后杀掉Chrome –