如何将Puppeteer指向本地图像/字体?

布德斯基

我想使用Puppeteer从HTML字符串生成图像。现在我有这样的事情:

const html = _.template(`
<html>
<body>
  <div class="testing">
    <h1>Hello {{ test }}!</h1>
    <img src="./1.jpg" alt="alt text" />
  </div>
</body>
</html>
`)

const browser = await puppeteer.launch()
const page = await browser.newPage()
const data = html({
  test: 'World'
})
await page.setContent(data)
const take = await page.$('.testing')
await take.screenshot({
  path: 'screenshot.png',
  omitBackground: true
})

问题是,Puppeteer无法加载图像,我不确定如何将其指向他?该图像与脚本位于同一目录中。

除了图像,我想加载自定义字体,该怎么做?

vsemozhebuty

页面网址为about:blank,Chrome不允许在非本地页面中加载本地资源。

所以也许是这样?

'use strict';

const { readFileSync } = require('fs');
const puppeteer = require('puppeteer');

(async function main() {
  try {
    const browser = await puppeteer.launch({ headless: false });
    const [page] = await browser.pages();

    const html = `
      <html>
      <body>
        <div class="testing">
          <h1>Hello World!</h1>
          <img src="data:image/jpeg;base64,${
            readFileSync('1.jpg').toString('base64')
          }" alt="alt text" />
        </div>
      </body>
      </html>
    `;

    await page.setContent(html);
    const take = await page.$('.testing');
    await take.screenshot({
      path: 'screenshot.png',
      omitBackground: true
    });

    // await browser.close();
  } catch (err) {
    console.error(err);
  }
})();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将本地图像放在 Shiny 模态中?

如何将本地图像加载到按钮中

Python / Yagmail-如何将本地图像嵌入到电子邮件中?

React-如何将本地图像导入/来源到对象

如何将本地图像添加到 flutter_local_notifications

如何将本地图像加载到 WebGL 上下文

MVVMCross:如何将ImageView绑定到本地图像(保存在SD卡中)

如何将propertyvaluefactory指向地图的值?

如何将图像从本地写入PDFkit?

如何将指向本地结构的指针转换为Webassembly?

如何将本地字体导入Gatsby网站?

如何将ttf字体本地文件导入Vuetify变量?

在 plotly dash 中,如何将本地图像文件源到 dash.html.Img?

如何将数据地图中的地图更改为世界地图的图像?

如何将图像保存到本地存储?

如何使用EBImage将本地图像加载到闪亮的应用程序以进行图像分析

Raku如何将指向Buf的指针传递给本地编写调用

如何将stripe-go指向stripe-mock本地服务器?

如何使用 flatlist 显示本地图像?

如何异步加载本地图像?

如何将在线字体链接转换为本地字体?

在本地测试firebase函数:如何将android应用程序指向本地运行的可调用函数?

如何将 Google Fonts 链接更改为 css @import 以在本地获取字体

使用javascript将图像src更改为本地图像?

如何使用JAVA将本地图像而不是URL发送到Microsoft Computer Vision API

如何通过 api 将本地图像文件发送到 parse.com?

如何使用颤振头像包将本地图像分配给头像源

如何将Bigcommerce产品图像更新为本地存储的图像?

如何将Puppeteer部署到Heroku?