Personnellement, je connais wkhtmltopdf en tant que bibliothèque pour la sortie de PDF. Cependant, il m'est arrivé de trouver une bibliothèque appelée WeasyPrint, alors j'ai essayé.
$ pip install weasyprint
Convertissez le HTML suivant en PDF. Comme c'est un gros problème, il peut être affiché dans deux colonnes comme un document PDF.
Le texte est [Wikipedia »Magical Girl Madoka ☆ Magica](https://ja.wikipedia.org/wiki/%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3" Extrait de% E3% 81% BE% E3% 81% A9% E3% 81% 8B% E2% 98% 86% E3% 83% 9E% E3% 82% AE% E3% 82% AB).
Nous avons également un CSS spécifique au PDF appelé pdf.css
.
pdf.css
@page {
margin: 8.0rem 2.0rem;
font-family: YuMincho, "Hiragino Mincho ProN", serif;
@top-center {
content: "Magical Girl Madoka ☆ Magica";
vertical-align: bottom;
font-size: 1.2rem;
border-bottom: 0.1rem solid;
margin-bottom: 1.2rem;
}
@bottom-right {
content: counter(page) " / " counter(pages);
}
}
Sortez le PDF avec la commande suivante.
$ weasyprint magica.html magica.pdf -s pdf.css
C'était: tada:
Voici le PDF de sortie.
Il est facile à utiliser et contient beaucoup de documentation, j'aimerais donc continuer à l'utiliser à l'avenir: sparkling_heart:
Dockerfile
FROM python:3.6.2
RUN apt-get update \
&& apt-get install -y \
python-lxml \
fontconfig \
libcairo2 \
libpango1.0-0 \
libgdk-pixbuf2.0-0 \
libffi-dev \
shared-mime-info \
unzip \
&& apt-get autoremove \
&& apt-get clean
WORKDIR /opt
ENV WEASYPRINT_VERSION 0.40
RUN pip install weasyprint==$WEASYPRINT_VERSION
ADD https://noto-website.storage.googleapis.com/pkgs/NotoSerifCJKjp-hinted.zip .
RUN unzip -d noto NotoSerifCJKjp-hinted.zip \
&& mkdir -p /usr/share/fonts/opentype \
&& mv -fv noto /usr/share/fonts/opentype/noto \
&& rm -rfv NotoSerifCJKjp-hinted.zip \
&& fc-cache -fv
docker-compose.yml
version: '3.3'
services:
weasyprint:
build: .
volumes:
- .:/opt/data-volume
working_dir: /opt/data-volume
entrypoint:
- weasyprint
command:
- -h
$ docker-compose run weasyprint magica.html magica.pdf -s pdf.css
WeasyPrint
CSS
Recommended Posts