我收到带有Word docx文档的表单上传。我已成功完成所有解析。然后,我必须在网络上显示该Word文档。

我目前遇到的问题是我已经嵌入了EMF文件(PIL库将其识别为WMF格式),而且我不知道如何将它们转换为可以在网络上显示的内容(任意选择的PNG)。

代码有点简单:

im = PIL.Image.open(StringIO.StringIO(data))
fmt = im.format
if (fmt == 'WMF'):
  fmt = 'PNG'
  output = StringIO.StringIO()
  im.save(output, format=fmt)
  data = output.getvalue()
  output.close()
return '''<img src="data:image/{0};base64,{1}" />'''.format(fmt, base64.encodestring(data))

The error i get is:

IOError: cannot find loader for this WMF file

这些Word文档来自普通用户,他们可能只是从网络中剪切粘贴图像或从文件插入图像。

在Linux系统上有适合我的解决方案吗?

谢谢。

编辑:

为了我的辩护,我尝试将该文档上传到google驱动器,并且该图像也未显示。也许没有简单的解决方案?

最佳答案

点安装枕头

从PIL导入图像

Image.open(“xxx.wmf”)。save(“xxx.png”)

10-06 07:09