我找到了开发者链接; https://developer.chrome.com/extensions/printerProvider
但是,无法理解如何使用它。
我试图打印当前页面而不显示打印弹出窗口。
为了能够实现它,我看起来是打印机供应商,但没有成功。
的manifest.json :
{
"name": "Print this page",
"description": "Adds a print button to the browser.",
"version": "1.1",
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs", "http://*/*", "https://*/*", "printerProvider"
],
"browser_action": {
"default_icon": "icon.png"
},
"manifest_version": 2
}
background.js
chrome.printerProvider.onGetCapabilityRequested.addListener(function callback) {
alert(callback);
});
chrome.printerProvider.onGetPrintersRequested.addListener(function callback){
console.log(callback);
});
但是,这些回调都没有返回。
如何使用/触发这些事件?
答案 0 :(得分:0)
您可以查看sample code:manifest.json
和test.js
。同样基于此related SO post,请注意此API不允许您修改现有打印机的打印设置。它是一种"驱动程序"界面为Chrome提供新的打印机。
答案 1 :(得分:0)
当用户点击pritn / Ctl + P
时,Chrome会调用回调apionGetPrintersRequested()
这应该返回打印机列表onGetCapabilityRequested()
您需要以CDD格式传递打印机功能onPrintRequested()
所有这些回调方法都需要在background.js
和 您提供的回叫功能不正确。有关回调签名的信息,请参阅文档
答案 2 :(得分:-1)
不幸的是,我没有任何方法在没有弹出窗口的情况下打印页面。但是,您可以使用
打印弹出窗口chrome.tabs.executeScript({
code: 'window.print()'
});