xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

Node.js & 页面截图 & 生成画报 All In One

Node.js & 页面截图 & 生成画报 All In One

https://zzk.cnblogs.com/my/s/blogpost-p?Keywords=headless

solution

  1. 使用 template 页面的 iframe 内嵌 url
  2. node 渲染 template 页面, 导出 画报/PDF

puppeteer

Headless Chrome Node API

https://github.com/puppeteer/puppeteer
https://github.com/GoogleChrome/puppeteer

https://github.com/puppeteer/puppeteer#what-can-i-do

demos

https://try-puppeteer.appspot.com/

https://render-tron.appspot.com/

https://pptr.dev/

demos

"use strict";

/**
 *
 * @author xgqfrms
 * @license MIT
 * @copyright xgqfrms
 * @created 2020-02-22
 * @modified
 *
 * @description url to poster
 * @augments
 * @example
 * @link
 *
 */

const log = console.log;

// const puppeteer = require('puppeteer-core');
const puppeteer = require('puppeteer');
// const devices = require('puppeteer/DeviceDescriptors');
// const devices = require('./lib/DeviceDescriptors');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  // await page.emulate(devices['iPhone X']);
  // await page.goto('https://cdn.xgqfrms.xyz/');
  await page.goto('./template/index.html');
  await page.screenshot({
    // path: 'poster.png',
    // path: 'poster-full.png',
    path: 'poster-template.png',
    fullPage: true,
  });
  await browser.close();
})();

https://github.com/xgqfrms/url-to-poster

(🐞 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs

https://www.cnblogs.com/xgqfrms/p/12346750.html

https://www.cnblogs.com/xgqfrms/tag/puppeteer/



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2020-02-19 11:07  xgqfrms  阅读(740)  评论(5编辑  收藏  举报