Загрузка шрифтов не поддерживается в Dockerized Puppetter - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь сделать снимок экрана моего веб-сайта внутри puppetter, но шрифт напечатан неправильно, я использую нестандартный шрифт. Я не уверен, что эта строка кода не выполняется внутри puppetter!

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

Я пытался дождаться, пока шрифт документа не будет готов, но все еще не работает, шрифт все еще не применен

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

Я использую Chupium Браузер кукловода. Также я использую docker-compose, и я даю атрибут sys_admin to 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 puppeteer@1.10.0

RUN mkdir -p /app
WORKDIR /app

COPY ./ /app/

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

Вот как это выглядит внутриДокер

enter image description here

Вот так шрифт в хроме

enter image description here

1 Ответ

0 голосов
/ 06 октября 2019

Я публикую проблему на puppetter github account , и они сказали, что, вероятно, хром не обеспечивает полную поддержку всех арабских шрифтов, и они предлагают установить chrome внутри контейнера.

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.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/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/*
...