2017-09-17 17 views
0

での作業:GET cairosvgこのコードの作業を取得しようとすると、窓

import cairosvg 
import os 

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

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

をこの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. 

私はhereと記載されたステップ1〜5に従った。私はまだ上記のエラーが発生します

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

:I別のソースが推奨するもインストールpycairo

C:\msys64\mingw64\include\cairo 

:私は今ではカイロのヘッダファイルを持っています。何か案は?

答えて

0

私はちょうどcairosvgを働かせません。 svglパッケージを使ってsvgをpngに変換する別の方法が見つかりました。

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") 
関連する問題