2014-04-28 6 views
5

मैं निम्नलिखित कोड के साथ एक पीडीएफ के लिए एक एसवीजी फ़ाइल कन्वर्ट करने के लिए कोशिश कर रहा हूँ करने के लिए परिवर्तित करने के लिए, लेकिन एक त्रुटि मिलीsvg से पीडीएफ

src:

from svglib.svglib import svg2rlg 
from reportlab.graphics import renderPDF 
drawing = svg2rlg("test.svg") 
renderPDF.drawToFile(drawing, "test.pdf") 

त्रुटि:

pydev debugger: starting 
Traceback (most recent call last): 
    File "C:\Users\Stone\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86\plugins\org.python.pydev_2.8.2.2013090511\pysrc\pydevd.py", line 1446, in <module> 
    debugger.run(setup['file'], None, None) 
    File "C:\Users\Stone\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86\plugins\org.python.pydev_2.8.2.2013090511\pysrc\pydevd.py", line 1092, in run 
    pydev_imports.execfile(file, globals, locals) #execute the script 
    File "C:\Users\Stone\Documents\FastDose\src\Beagle\Prove e test\test_renderpdf.py", line 9, in <module> 
    drawing = svglib.svg2rlg("test.svg") 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 1178, in svg2rlg 
    svgRenderer.render(svg) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 511, in render 
    self.render(child, self.mainGroup) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 534, in render 
    item = self.renderG(n) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 626, in renderG 
    item = self.render(child, parent=gr) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 534, in render 
    item = self.renderG(n) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 626, in renderG 
    item = self.render(child, parent=gr) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 534, in render 
    item = self.renderG(n) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 626, in renderG 
    item = self.render(child, parent=gr) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 554, in render 
    shape = getattr(self.shapeConverter, methodName)(n) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 875, in convertPath 
    normPath = normaliseSvgPath(d) 
    File "C:\Python27\lib\site-packages\svglib\svglib.py", line 146, in normaliseSvgPath 
    a = string.replace(a, 'e-', 'ee') 
NameError: global name 'string' is not defined 

इसके अलावा मैं हार्ड-फाइल से बचना चाहता हूं और अस्थायी svg/pdf फ़ाइल बनाने के लिए स्ट्रिंगियो का उपयोग करना चाहता हूं, लेकिन मुझे लगता है कि svg2rlg केवल इनपुट के रूप में पथ स्वीकार करता है।

+0

कहाँ त्रुटि के बाकी है? – jonrsharpe

+0

क्षमा करें और त्रुटि पेस्ट करें ... – gerod

+0

ऐसा प्रतीत होता है कि गायब 'आयात स्ट्रिंग' कहीं – jonrsharpe

उत्तर

6

मेरे लिए यह काम कर पाने के के हाथ संपादित किया गया था:

/Users/<MY_USER>/.virtualenvs/<MY_VENV>/lib/python2.7/site-packages/svglib/svglib.py 

और जोड़ने इस लापता

import string

+2

हाँ। वह पुस्तकालय बस पुराना है –