如题,写入Word的内容有些字体显示方块(方格),同时将方块复制到别的平台的编辑区域中(如微信的),该方块又能显示正常汉字。这意味着docx写入时字体映射存在问题。
同时及时我们在代码中加了:
doc.styles['Normal'].font.name = u'宋体'
也没有用,是因为我们还在下方应添加:
doc.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
这是为了实现docx内字符到东亚字符集的映射,总体结构如下:
doc.styles['Normal'].font.name = u'宋体'
doc.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
即可解决汉字变成方块的问题。