Elastic Beanstalk 上的 Django Weasyprint - 无法加载 GDK-Pixbuf [英] Django Weasyprint on Elastic Beanstalk - Could not load GDK-Pixbuf

查看:26
本文介绍了Elastic Beanstalk 上的 Django Weasyprint - 无法加载 GDK-Pixbuf的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在 Elastic Beanstalk 上安装了 weasyprint.到目前为止,html 模板的打印工作正常,但我无法打印 svg 图像.

I've installed weasyprint on Elastic Beanstalk. The printing of html templates is working so far but im not able to print svg images.

Weasyprint 抛出以下错误:

Weasyprint throws the following error:

Failed to load image at "https://myurl/media/X247QAQ2IO.svg" (Could not load GDK-Pixbuf. PNG and SVG are the only image formats available.)

我是否需要 gdk-pixbuf 来打印 SVG?如果是这样,我如何在 Amazon Linux 上安装它?

Do I need gdk-pixbuf to print SVGs? And if so how can I install it on Amazon Linux?

Yum does not have gdk-pixbuf2 available for installation

推荐答案

通过手动构建 gdk-pixbuf2,我找到了一个对我有用的解决方案,下面的脚本来自 https://gist.github.com/whyvez/1e0212a35da97aa8f1b1 他们需要安装 image magic 的地方

I found a solution that worked for me by manually building gdk-pixbuf2, My script below derived from https://gist.github.com/whyvez/1e0212a35da97aa8f1b1 where they needed to install image magic

weazy.conf

files:
 "/opt/elasticbeanstalk/hooks/appdeploy/pre/00_instal_weasyprint_prerequisites.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash

      yum install -y libxml2-devel libxslt-devel python-devel redhat-rpm-config libffi-devel cairo pango

      export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig
      export PATH=/usr/bin:$PATH
      export LDFLAGS=-L/usr/lib64:/usr/lib
      export LD_LIBRARY_PATH=/usr/lib64:/usr/lib
      export CPPFLAGS=-I/usr/include

      sudo yum-config-manager --enable epel
      sudo yum update -y
      sudo yum install -y gcc gcc-c++ glib2-devel.x86_64 libxml2-devel.x86_64 libpng-devel.x86_64 \
      libjpeg-turbo-devel.x86_64 gobject-introspection.x86_64 gobject-introspection-devel.x86_64

      wget http://ftp.gnome.org/pub/GNOME/sources/libcroco/0.6/libcroco-0.6.8.tar.xz
      tar xvfJ libcroco-0.6.8.tar.xz
      cd libcroco-0.6.8
      ./configure --prefix=/usr
      make
      sudo make install
      cd ..

      wget http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.28/gdk-pixbuf-2.28.2.tar.xz
      tar xvfJ gdk-pixbuf-2.28.2.tar.xz
      cd gdk-pixbuf-2.28.2
      ./configure --prefix=/usr --without-libtiff
      make
      sudo make install
      cd ..

      sudo yum install -y pixman-devel.x86_64 harfbuzz-devel.x86_64 freetype-devel.x86_64

      wget wget http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.91.tar.gz
      tar xvf fontconfig-2.10.91.tar.gz
      cd fontconfig-2.10.91
      ./configure --prefix=/usr --enable-libxml2
      make
      sudo make install
      cd ..

      wget http://cairographics.org/releases/cairo-1.12.14.tar.xz
      tar xvfJ cairo-1.12.14.tar.xz
      cd cairo-1.12.14
      ./configure --prefix=/usr
      make
      sudo make install
      cd ..

      wget http://ftp.gnome.org/pub/GNOME/sources/pango/1.34/pango-1.34.1.tar.xz
      tar xvfJ pango-1.34.1.tar.xz
      cd pango-1.34.1
      ./configure --prefix=/usr
      make
      sudo make install
      cd ..

      wget http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.40/librsvg-2.40.6.tar.xz
      tar xvfJ librsvg-2.40.6.tar.xz
      cd librsvg-2.40.6
      ./configure --prefix=/usr
      make
      sudo make install
      cd ..


      sudo ldconfig /usr/lib

这篇关于Elastic Beanstalk 上的 Django Weasyprint - 无法加载 GDK-Pixbuf的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆