Electron printToPDF 文本中间分页符

Electron printToPDF page break in middle of text

我有一个电子项目,它使用内置的 webContents.printToPDF() 函数生成 pdf。

mainWindow.webContents.printToPDF({}, function(error, data) {
    if(error) throw error;
    fs.writeFile(arg, data, function(error) {
        if(error) throw error;
    });
});

我遇到的问题是,当我打印跨多个页面的 table 时,分页符不会出现在元素周围,而是将单词切成两半,如下面的示例所示。

我正在为这个项目使用 electron-prebuilt 0.35.2,程序正在 运行 windows 7 计算机上运行。我在electron's github issues.

中搜索没有找到相关问题

如有任何帮助,我们将不胜感激。

我不能post将此作为评论,因为我没有必要的声誉。

这似乎是 Chromium 的问题,而不是 Electron 的问题。您可以尝试对 tr 或 table 单元格中的 div 使用 page-break-inside: avoid;。不过我还没有测试过。

您也可以尝试为 tr 设置 display: block;

我使用 PhotonKit 作为我的 CSS 框架。该框架使用 flexbox 进行布局。

用 Bootstrap 替换 PhotonKit 后,table 单元格之间的文本中断问题已解决。我认为这是直接由 chromium 未正确处理 flexbox 布局以进行打印造成的。