使用命令行开关/启动参数以 Chrome 打印图像
Print image with Chrome using command line switches / startup arguments
有没有一种方法可以使用 Chrome 打开图像 url 并在启动时使用命令行开关(启动参数)打印该图像。
它可以是无头的或非无头的。打印到默认打印机也可以。
This appears to be a complete list of chrome command line switches,但我没有看到任何符合我要求的东西,虽然有大约 1,300 个选项,所以我可能遗漏了一些东西。
我发现了一个适用于我的特定情况的愚蠢的解决方法。我使用的是 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)");
}
}
仍然希望有一个不那么愚蠢的解决方案,最好是只有命令开关的东西。
有没有一种方法可以使用 Chrome 打开图像 url 并在启动时使用命令行开关(启动参数)打印该图像。
它可以是无头的或非无头的。打印到默认打印机也可以。
This appears to be a complete list of chrome command line switches,但我没有看到任何符合我要求的东西,虽然有大约 1,300 个选项,所以我可能遗漏了一些东西。
我发现了一个适用于我的特定情况的愚蠢的解决方法。我使用的是 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)");
}
}
仍然希望有一个不那么愚蠢的解决方案,最好是只有命令开关的东西。