[PYTHON] Ich möchte einen Screenshot der Site in Docker mit einer beliebigen Schriftart erstellen

Zweck: Ich möchte einen Screenshot der Site mit einer beliebigen Schriftart in Docker erstellen und testen

Es gibt einen Artikel, bis ich einen Screenshot mache, aber ich konnte keinen Artikel auf Japanisch finden, den ich gemacht habe, bis ich eine beliebige Schriftart festgelegt habe, also habe ich ihn geschrieben.

Alle Quellen finden Sie hier https://github.com/frkwy/xvfb_screenshot_on_docker

Die diesmal verwendeten Schriftarten und Sätze sind [Highschool-Mädchenstil? Laden Sie die niedliche ultrafeine Schriftart "JK Gothic L" | Schriftart und süßes Mädchen herunter [http://font.cutegirl.jp/jk-font-light.html] Aozora Bunko Natsume Soseki Ich bin eine Katze Ich benutzte.

Überprüfen Sie die Schriftarten und Prioritäten

Die Lösung besteht darin, die Priorität der Schriftart zu erhöhen, die Sie verwenden möchten. fc-list: Schriftartenliste Wenn diese nicht vorhanden ist, wird die Schriftart nicht installiert Diesmal ist es Firefox Es ist in Ordnung, wenn sich die Schriftart, die Sie beim Ausführen von "fc-match -s sarif" verwenden möchten, oben befindet. Dafür erstellen wir font.conf.

Dockerfile

FROM alpine:latest

COPY fonts.conf /root/.config/fontconfig/
# Please override your favorite font file path
COPY JKG-L_3.ttf /root/.local/share/fonts/

RUN apk update && apk add python3 xvfb firefox dbus && rm -rf /var/cache/apk/*
RUN python3 -m ensurepip
RUN pip3 install --upgrade pip selenium xvfbwrapper

RUN fc-cache -fv

CMD ["python3", "/host/example.py"]

font.conf Angenommen, die Schriftart ist bereits in der obigen Docker-Datei installiert. Bringen Sie die Priorität der Schriftart, die Sie verwenden möchten, mit "binding =" strong "" nach oben.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
   <match target="pattern">
        <edit name="family" mode="assign" binding="strong">
           <string>JK Gothic L.</string>
        </edit>
    </match>
</fontconfig>

Dies ist ein Screenshot, der tatsächlich aufgenommen wurde. Screenshot_from_2016-03-21 20:30:14.png

Recommended Posts

Ich möchte einen Screenshot der Site in Docker mit einer beliebigen Schriftart erstellen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich möchte keinen Codierungstest machen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich habe ein Skript erstellt, das das aktive Fenster mit win32gui von Python aufzeichnet
100 Klopfen bei der Bildverarbeitung !! (021-030) Ich möchte eine Pause machen ...
Ich möchte das Ausführungsergebnis von strace erfassen
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Ich möchte ein beliebtes Paket auf PyPi finden
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte ein Paket von Php Redis installieren
Ich möchte ssh mit dem Befehl expected automatisieren!
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
[Python3] Machen Sie einen Screenshot einer Webseite auf dem Server und schneiden Sie sie weiter zu
[Beispiel für eine Python-Verbesserung] In 2 Wochen wurden die Grundlagen von Python auf einer kostenlosen Website erlernt
[Python] Ich habe ein System erstellt, um "das Rezept, das ich wirklich will" von der Rezeptseite einzuführen!
Ich möchte die Standortinformationen von GTFS Realtime auf Jupyter zeichnen! (Mit Ballon)
Ich wollte viele Bilder sammeln, also habe ich versucht, "Google Image Download" zu verwenden.
Ich möchte ssh mit dem Befehl expected automatisieren! Teil 2
Ich möchte viele Prozesse von Python aus starten
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich habe ein VGG16-Modell mit TensorFlow gemacht (unterwegs)
Ich möchte die Natur von Python und Pip kennenlernen
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich habe versucht, die Genauigkeit von Modellen für maschinelles Lernen mit Kaggle als Thema zu vergleichen.
Ich möchte den Schnittpunkt einer Bezier-Kurve und einer geraden Linie finden (Bezier-Clipping-Methode)
Ich möchte eine wunderschön angepasste Wärmekarte der Korrelationsmatrix ausgeben. matplotlib edition
So zeichnen Sie einfach die Struktur eines neuronalen Netzwerks in Google Colaboratory mit "convnet-drawer"
Ich möchte einen Sprachwechsler mit Python und SPTK in Bezug auf eine berühmte Site erstellen
Ich habe versucht, die Erstellung einer praktischen Umgebung mithilfe der SoftLayer-API der IBM Cloud zu automatisieren
So machen Sie einen Screenshot des Chrome-Bildschirms (verhindern Sie, dass er in der Mitte abgeschnitten wird)
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Veröffentlichen Sie das erstellte Shell-Skript, um die Probleme beim Erstellen von LiveUSB unter Linux zu verringern
[Python] Ich habe die Route des Taifuns mit Folium auf die Karte geschrieben
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich wollte die Klassifizierung von CIFAR-10 mit dem Chainer-Trainer in Frage stellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, den auf Papier gestempelten Stempel mit OpenCV zu digitalisieren
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Ich habe versucht, einen Sender auf der IoT-Plattform "Rimotte" zu registrieren.