最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

dockerized puppetter中不支持下载字体

运维笔记admin9浏览0评论

dockerized puppetter中不支持下载字体

dockerized puppetter中不支持下载字体

我正在尝试在puppetter中截取我的网站的屏幕截图,但是该字体未正确打印,我使用的是自定义字体。我不确定这行代码是否不会在puppetter中执行!

<link href="//fonts.googleapis/css?family=Poppins:300,400,500,600,700%7CRoboto:300,400,500,600,700" rel="stylesheet">

我试图等待文档的字体准备好,但是仍然无法正常工作,仍然没有应用字体

await page.evaluateHandle('document.fonts.ready');

我正在使用puppeteer内置的铬浏览器。也我正在使用docker-compose,并且将sys_admin分配给cap_add该服务的属性。

这是我的dockerfile

FROM node:10.7.0-alpine AS base
ENV CHROME_BIN="/usr/bin/chromium-browser" \
    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
RUN set -x \
    && apk update \
    && apk upgrade \
    && apk add --no-cache \
    udev \
    ttf-freefont \
    chromium \
     && npm install [email protected]

RUN mkdir -p /app
WORKDIR /app

COPY ./ /app/

ENTRYPOINT ["npm"]
CMD ["start"]

这是在docker内部的样子

这就是chrome中的字体

回答如下:

[我在puppetter github account上发布了一个问题,他们说,铬可能无法完全支持所有阿拉伯字体,因此建议将铬安装在容器内。

FROM node:10-slim

# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others)
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN wget -q -O - https://dl-ssl.google/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf \
  --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
发布评论

评论列表(0)

  1. 暂无评论