ElectronJS printToPDF - есть ли возможность динамически устанавливать ширину страницы? - PullRequest
0 голосов
/ 24 августа 2018

Как динамически передать настройки страницы в основной процесс из процесса рендеринга в ElectronJS?

Я хотел передать параметры страницы динамически из процесса рендеринга в основной процесс. По сути, функция printToPDF в основном процессе должна принимать объект pageSettings и печатать соответственно. Намерение состоит в том, чтобы динамически установить ширину страницы.

Код вкратце выглядит следующим образом. Но это не работает.

//Sending from Renderer Process
ipc.send("readyToPrint", page_settings);


//Receiving at Main Process
ipc.on("readyToPrint", (event, page_settings) => {

  const pdfPath = path.join(os.tmpdir(), 'print.pdf');

  /* Default Settings
    var pageSettings = {
      'marginsType': 1,
      'printBackground': true, 
      'pageSize': {
        "height": 297000,
        "width": 72000
      }
    }
  */

  var pageSettings = page_settings;

  workerWindow.webContents.printToPDF(pageSettings, function (error, data) {
        if (error) throw error
        fs.writeFile(pdfPath, data, function (error) {
            if (error) {
                throw error
            }
            shell.openItem(pdfPath);
        })
  })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...