wkhtmltopdf with docker:有些CSS没有使用



我想在symfony项目上使用wkhtmltopdf:

FROM surnet/alpine-wkhtmltopdf:3.16.2-0.12.6-full as wkhtmltopdf
FROM openjdk:19-jdk-alpine3.16 
RUN apk add --no-cache 
libstdc++ 
libx11 
libxrender 
libxext 
libssl1.1 
ca-certificates 
fontconfig 
freetype 
ttf-dejavu 
ttf-droid 
ttf-freefont 
ttf-liberation 
# more fonts
&& apk add --no-cache --virtual .build-deps 
msttcorefonts-installer 
# Install microsoft fonts
&& update-ms-fonts 
&& fc-cache -f 
# Clean up when done
&& rm -rf /tmp/* 
&& apk del .build-deps
# Copy wkhtmltopdf files from docker-wkhtmltopdf image
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
COPY --from=wkhtmltopdf /bin/wkhtmltoimage /usr/local/bin/wkhtmltoimage
COPY --from=wkhtmltopdf /bin/libwkhtmltox* /usr/local/bin/

但是生成的pdf与html并不完全相同,因为没有考虑到一些css。如果我切换到标准的本地安装(基于Debian 11), pdf将正确生成。

我的问题是:

  • 我的docker安装缺少什么?
  • 如何调试wkhtmltopdf以找出问题在哪里?

谢谢!

我在使用wkhtmltopdf时也遇到过忽略CSS的问题。

我知道我的答案将不完全适合你正在寻找的,但我认为这是很好的知道https://www.api2pdf.com/,以防止开发人员试图使pdf自己

我一直在与wkhtmltopdf(二进制文件和狗屎…)斗争,我不得不安装它好几年了。有一天,一个朋友告诉我api2pdf。它既便宜又好用。我再也不用我自己的发电机了。

特别是因为他们的chromeHtmlToPdf函数,这是你正在寻找的功能来解决你的css问题。

我知道这是旧的,但最近遇到同样的。就我而言,我使用的是docker, ubuntu。使用XVFB也可以:

apt-get install XVFB libfontconfig wkhtmltopdf

然后运行wkhtmltopdf与XVFB例如

xvfb-run wkhtmltopdf https://github.com/ github.pdf

最新更新