PhantomJS在分页符中切换/分割一半的单词

Tet*_*Dev 5 css pdf-generation page-break node.js phantomjs

我正在使用phantomjs-node api来呈现PDF.问题是出现在页面末尾附近的单词分为2页,第1页的一半,第2页的另一半.我无法理解为什么会发生这种情况.我该怎么做才能解决这个问题?我已经在phantomjs github上创建了一个没有响应的问题.

在运行时之前,数据的长度是未知的,因此我认为在数据行中放置硬分页符是不可行的.

  1. 您使用的是哪个版本的PhantomJS? phantomjs-node ^ v2.1.21

  2. 哪些步骤将重现该问题?

    一个.创建多页网站

    湾 以PDF格式呈现

  3. 您使用的是哪种操作系统?Windows 10 x64

  4. 你使用二进制PhantomJS还是从源代码编译它? phantomjs-node预编译

  5. 请在下面提供任何附加信息.

phantomjs_cutting_words_in_half_across_page_breaks

小智 1

截至2018年5月3日(3月3日),由于缺乏积极贡献,PhantomJS的开发已暂停并已存档。关联

由于这次更新,我推荐 Google 的 Chrome 官方无头包装器puppeteer


安装:

npm i puppeteer

用法:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)

笔记

这个答案不会为您的问题提供有用的答案,但遗憾的是,您将面对这样一个事实:您迟早必须离开 PhantomJS 并切换到另一个无头解决方案......我们的团队已经面临这个问题,我们选择了木偶师

  • 是的,我已经离开 phantomjs 很久了,并且确实切换到了 Puppeteer,它工作得很好,并且 webfonts 可以启动。 (2认同)