使cairosvg在Windows中工作 [英] get cairosvg working in windows

查看:252
本文介绍了使cairosvg在Windows中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试使此代码正常工作:

Trying to get this code working:

import cairosvg
import os

path = "D:/PyProjects/Bla/Temp"
os.chdir(path)

cairosvg.svg2pdf(url='Pic.svg', write_to='image.pdf')

但会收到与此类似的错误帖子:

but get errors along similar to this post:

Traceback (most recent call last):
  File "D:/work/lean_python/pdf/other.py", line 2, in <module>
    import cairosvg
  File "D:\env_python352\lib\site-packages\cairosvg\__init__.py", line 29, in <module>
    from . import surface
  File "D:\env_python352\lib\site-packages\cairosvg\surface.py", line 24, in <module>
    import cairocffi as cairo
  File "D:\env_python352\lib\site-packages\cairocffi\__init__.py", line 46, in <module>
    cairo = dlopen(ffi, 'cairo', 'cairo-2')
  File "D:\env_python352\lib\site-packages\cairocffi\__init__.py", line 43, in dlopen
    raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to load a library: cairo / cairo-2

该帖子提到:

CairoSVG (the python library and bindings) needs Cairo (The C library, part of GTK+) to run. It appears you don't have it an it's headers installed on your system.

因此,我按照步骤1-5在此处进行了介绍.我现在在以下位置有cairo头文件:

So I followed step 1 - 5 described here. I now have cairo header files in:

C:\msys64\mingw64\include\cairo

我还安装了另一个来源推荐的pycairo:

I also installed pycairo recommended by another source:

pip install pycairo-1.15.2-cp36-cp36m-win_amd64.whl

我仍然遇到上述错误.有什么想法吗?

I still get the above errors. Any ideas?

推荐答案

我只是不让cairosvg工作.我发现了使用svglib软件包将svg转换为png的另一种方法.

I just do not get cairosvg to work. I found an alternative way to transform an svg into a png using the svglib package.

from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF, renderPM
import os

path = "D:/Bla/Temp"
os.chdir(path)

drawing = svg2rlg("Pic.svg")
renderPM.drawToFile(drawing, "Pic.png")

这篇关于使cairosvg在Windows中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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