【问题标题】:Print dialog box is not open in after click on canel button单击取消按钮后,打印对话框未打开
【发布时间】:2020-06-05 13:24:28
【问题描述】:

我正在尝试使用电子和角度的打印对话框打印内容。这是打印内容的代码

this.webview.nativeElement.getWebContents().print({}, (success, errorType) => {
    if (!success) {
      console.log(errorType, 'error in print');
    }
 });

通过它打印内容,但是当我们点击取消按钮而不是打印时,打印对话框不会再次出现。

【问题讨论】:

  • 能否展示其余的相关代码 - HTML 和 ts

标签: angular webview electron printdialog


【解决方案1】:

确保nodeIntegration: true 位于BrowserWindow

app.on('ready', () => {
    mainWindow = new BrowserWindow({
        webPreferences: {
            nodeIntegration: true
        }
    });
});

print.js 如下所示,它可以正常工作

const { remote } = require('electron');
const { BrowserWindow } = remote;

let print_win;

document.addEventListener('DOMContentLoaded', function () {

  InitPrintPreview();

  document.getElementById('print_preview_button').addEventListener('click', OpenPrintPreview);

});

function DoPrint() {
  if (print_win) print_win.webContents.print();
}

function OpenPrintPreview() {
  if(!print_win) InitPrintPreview();
}

function InitPrintPreview() {

  print_win = new BrowserWindow({
    'auto-hide-menu-bar': true,
    width: 400,
    height: 400,
  });
  print_win.loadURL('file://' + __dirname + '/print.html');
  print_win.show();

  print_win.webContents.on('did-finish-load', function () {
    document.getElementById('print_button').addEventListener('click', DoPrint);
  });

  print_win.on('closed', function () {
    print_win = null;
  });

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2011-06-18
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多