如何在Chromium中禁用打印对话框?

时间:2018-07-27 08:19:16

标签: delphi command-line printing chromium

有一个网页,带有“打印”按钮。我使用DCEF3加载它。如果用户单击该按钮,将显示“打印机选择”对话框。我想一劳永逸地禁用打印。 我一直在尝试使用example传递命令行参数。 因此,我尝试了以下操作:

--disable-print-preview
--kiosk
--kiosk-printing

但是他们没有一个成功。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

CEF3不支持“静默”打印,即没有打印机选择对话框的打印。

您所能做的就是:

  • 打印到临时PDF文件,然后打印PDF文件。
  • 从浏览器中拍摄快照并打印位图。
  • 修改CEF3库以隐藏打印机选择对话框。

这些功能更容易与CEF4DelphiOldCEF4Delphi一起使用。要打印为PDF文件,您只需调用TChromium.PrintToPDF并拍摄快照,您需要调用TChromium.TakeSnapshot

并非所有的Chromium标志或命令行开关都受CEF3支持。不支持--kiosk和--kiosk-printing,因为您可以看到here

您甚至可能必须修改该网页中的JavaScript代码,才能用在CEF3中注册的自定义JavaScript扩展替换“打印”按钮功能。该扩展程序将向主浏览器进程发送一条消息,以使用您的自定义功能进行打印。