Closed
Description
There is a problem with non-ascii characters in textbox. It can be fixed in line 1705 in presentation.py by not calling str, instead either just setting it to value or unicode(value).
Script:
# -*- coding: utf-8 -*-
from pptx import Presentation
if __name__ == '__main__':
prs = Presentation()
sl = prs.slidemasters[0].slidelayouts[5]
s = prs.slides.add_slide(sl)
tb = s.shapes.add_textbox(752777,1509138,7718035,4833392)
p = tb.textframe.add_paragraph()
p.text = 'Hér er texti með íslenskum stöfum. This string contains icelandic/non-ascii characters.'
prs.save('test.pptx')
Stacktrace:
Traceback (most recent call last):
File "a.py", line 14, in <module>
p.text = 'Hér er texti með íslenskum stöfum. This string contains icelandic/non-ascii characters.'
File "/Users/vidar/.virtualenvs/DM27/src/pptx/pptx/presentation.py", line 1705, in _set_text
r.text = str(value)
File "/Users/vidar/.virtualenvs/DM27/src/pptx/pptx/presentation.py", line 1790, in text
self.__t.text = str
File "lxml.etree.pyx", line 922, in lxml.etree._Element.text.__set__ (src/lxml/lxml.etree.c:40737)
File "apihelpers.pxi", line 656, in lxml.etree._setNodeText (src/lxml/lxml.etree.c:18467)
File "apihelpers.pxi", line 1339, in lxml.etree._utf8 (src/lxml/lxml.etree.c:24233)
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
```
Metadata
Metadata
Assignees
Labels
No labels