

electronの[WebContents.printToPdf](https://github.com/electron/electron/blob/master/docs/api/web-
contents.md#contentsprinttopdfoptions-
callback)のAPIを使って、バックグラウンドで非表示中のページをレンダリング後にPDF化したいです。

Angular2を使ってページを整形しているため、ngAfterViewInitのlifeCycleの後にPDF化を行おうとしたのですが、

PDF化したところ、一部のテキストがレンダリングされない状態でPDFが出力されてしまいました。

(electronの標準イベントであるBrowserWindowの`ready-to-show`やWebContentsの`did-finish-
load`のイベントではPDF化のタイミングが早すぎる)

CSSが完全に適用されたタイミングでPDF化を行う方法はありますでしょうか？

### 備考

システムのバージョン

[code]

    "@angular/core": "^2.4.9",
    "electron": "^1.6.16",
    
[/code]

コード1

[code]

    const newWindow = new BrowserWindow({
        width,
        height,
        show: false,
    });
    newWindow.loadURL(reportURL);
    
[/code]

コード2

[code]

    win.webContents.printToPDF({marginsType:0, pageSize:'A4', printBackground:true}, (error: any, data: any) => {
        if (error) throw error;
        fs.writeFile(pdfPath, data, function(error: any) {
            if (error) throw error;
            win.destroy();
        });
    });
    
[/code]

コード1を使ってバックグラウンドでBrowserWindowオブジェクトを作成し、PDFを作成するタイミングになったら、コード2を呼び出してPDF化を行なっております。


CC BY-SA 3.0
2018-02-07T01:22:31.433
41528
2018-02-07T01:22:31.433
27311
question
css electron angular2
electronで作成したPDFにCSSが適用されない