简体   繁体   English

JavaScript:屏幕截图呈现的网页浏览器样式

[英]JavaScript: screenshot rendered web page Browser style

I assume this question might have been asked before but after hours of searching, I haven't found anything satisfying. 我想可能已经问过这个问题,但是经过数小时的搜索,我还没有找到满意的答案。

Here's my question: Is it possible to screenshot a fully rendered web page using JavaScript? 这是我的问题:是否可以使用JavaScript截屏完整渲染的网页? A little like what most browsers do on windows on the press of ctrl+p . 就像大多数浏览器在ctrl+p上按下Windows时所做的一样。

I have looked into a lot of alternative solutions like html2Canvas.js but none suits my needs. 我研究了很多替代解决方案,例如html2Canvas.js,但都不满足我的需求。 The biggest issue being my web page almost entirely rendered on client side using Javascript. 最大的问题是我的网页几乎完全使用Javascript在客户端呈现。 This is also why server side solution like PhantomJS are hardly applicable. 这也是为什么服务器端解决方案(例如PhantomJS)几乎不适用的原因。

I need the screenshots to be printed as image or PDF. 我需要将屏幕截图打印为图像或PDF。 Any idea? 任何想法?

Thanks. 谢谢。

Have you looked into Puppeteer by Google ? 您是否看过Google的Puppeteer

If you're able to run it on your server, it might be exactly what you're looking for. 如果您能够在服务器上运行它,则可能正是您所需要的。 See their example code: 查看他们的示例代码:

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();
})();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM