Articles in this section

How to install inkscape in the web container

Goal

To install the cli version of inkscape in the web container to be able to convert svg to pdf/png/eps…

Steps

1. Create the install_inkscape script

#!/bin/bash
echo "----------------"
echo "Install Inkscape"
echo "----------------"
echo ""
echo "1. Download AppImage"
wget --no-verbose -O Inkscape.AppImage https://inkscape.org/gallery/item/33450/Inkscape-dc2aeda-x86_64.AppImage
echo ""

echo "2. Make it executable"
chmod +x Inkscape.AppImage
echo ""

echo "3. Extract the AppImage, and immediately clean up"
./Inkscape.AppImage --appimage-extract > /dev/null
rm Inkscape.AppImage
echo ""

echo "4. Rename to a sensible foldername, inkscape-root"
mv squashfs-root inkscape-root
echo ""

echo "5. Adding a link in .global/bin to inkscape"
mkdir -p .global/bin
ln -s /app/inkscape-root/AppRun .global/bin/inkscape
echo ""

echo "6. All Done"
echo "You can test if it is working by running "
echo "  inkscape --version 2>/dev/null"
echo ""
echo "To convert a file, try: " 
echo "  inkscape --without-gui Tiger.svg -w 320 -h 320 -o Tiger.png 2>/dev/null"
echo ""
echo " Enjoy ! "
echo "----------------"


2. Add it to the build hook

hooks:
    build: |
        set -e
        bash install_inkscape.sh

3. Use it

Note that we’re adding 2>/dev/null at the end of the command to ensure inkscape doesn’t spam the CLI too much.

echo "download an svg to test with (errors will be ignored, because inkscape spams a lot)"
wget --no-verbose -O /tmp/Tiger.svg https://upload.wikimedia.org/wikipedia/commons/e/e3/Tiger.svg
inkscape Tiger.svg -w 320 -h 320 -o Tiger.png 2>/dev/null
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.