我正在尝试使用以下代码将svg文件转换为pdf,但出现错误
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
此外,我想避免使用硬文件并使用StringIO来创建临时的svg / pdf文件,但我想svg2rlg只接受一个路径作为输入.
解决方法:
让我工作的是手工编辑:
/Users/<MY_USER>/.virtualenvs/<MY_VENV>/lib/python2.7/site-packages/svglib/svglib.py
并添加此缺失
导入字符串
标签:python,pdf,svg 来源: https://codeday.me/bug/20190517/1119883.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。