質問
Electronで、指定部分(例えばDIV)をPDFにして出力する機能を付けたいのですが、
うまくいきません。
jsPDF.jsと言うものを使ってみたのですが、どうもElectronとは相性が悪いようで、定義されているメソッドが定義されていないと出ます。
調べていくと、Electron自体にページをPDF化するメソッドが備わっているようです。
しかし、これはページ全体をPDFとして出力するような感じでかかれています。
(英語が苦手なので、雰囲気そう感じ取りました。)
指定divだけをPDFにするにはどうすればよいでしょうか。
ご存じの方がいらっしゃいましたら、ご教示願います。
よろしくお願いいたします。
蛇足
stack overflowさんで、「How to print a DIV in ElectronJS」という質問を見つけました。
ここのやり方をコピペしたのですがそのままでは動きませんでした。
そしてさらには、
「ボタンを押したらあるDIVをPDFにして出力」したいので、
常にウインドウを2つ出しているのには抵抗があります。
とりあえず、ipcMain.on("printPDF",
の部分を以下のように書き換えましたが、
workerWindowがundefinedと出ます。
もちろんworkerWindowは、グローバルにvarで定義しております。
javascript
1// retransmit it to workerWindow 2 ipcMain.on("printPDF", (event, content) => { 3 console.log(content); 4 5 workerWindow = new BrowserWindow(); 6 workerWindow.loadURL("file://" + __dirname + "/worker.html"); 7 // workerWindow.hide(); 8 workerWindow.webContents.openDevTools(); 9 workerWindow.on("closed", () => { 10 workerWindow = undefined; 11 }); 12 13 workerWindow.webContents.send("printPDF", content); 14 });
環境
MacOS X Yosemite 10.10.5
Electron 1.4.12(最新…ですよね?)
materialize 0.97.8
jQuery 3.1.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。