【问题标题】:How to disable print dialog in Chromium?如何在 Chromium 中禁用打印对话框?
【发布时间】:2018-07-27 08:19:15
【问题描述】:
有网页,有“打印”按钮。我使用 DCEF3 加载它。如果用户单击该按钮,将显示打印机选择对话框。我想一劳永逸地禁用打印。
我一直在尝试使用example 传递命令行参数。
所以,我尝试了以下方法:
--disable-print-preview
--kiosk
--kiosk-printing
但他们都没有成功。我错过了什么吗?
【问题讨论】:
标签:
delphi
command-line
printing
chromium
【解决方案1】:
CEF3 不支持“静默”打印,即在没有打印机选择对话框的情况下打印。
你能做的就是:
- 打印到临时 PDF 文件,然后打印 PDF 文件。
- 从浏览器获取快照并打印位图。
- 修改 CEF3 库以隐藏打印机选择对话框。
这些函数更容易与CEF4Delphi 或OldCEF4Delphi 一起使用。要在 PDF 文件中打印,您只需调用 TChromium.PrintToPDF 并拍摄快照,您需要调用 TChromium.TakeSnapshot
CEF3 并不支持所有 Chromium 标志或命令行开关。不支持 --kiosk 和 --kiosk-printing,如您所见 here。
您甚至可能需要修改该网页中的 JavaScript 代码,以将“打印”按钮功能替换为在 CEF3 中注册的自定义 JavaScript 扩展。该扩展程序会向主浏览器进程发送一条消息,以使用您的自定义函数进行打印。