如何在python中使用win32com将带图像的html转换为word

时间:2014-05-26 16:27:33

标签: python html ms-word

我正在使用win32com将html转换为python(Django)中的单词。

我正面临着图像部分的问题,即html页面包含未出现在最终单词doc中的图像。

import win32com.client

word = win32com.client.Dispatch('Word.Application')

doc = word.Documents.Add('example.html')
doc.SaveAs('example.doc', FileFormat=0)
doc.Close()

word.Quit()

这是我正在使用的代码。可以做些什么呢?

1 个答案:

答案 0 :(得分:0)

不幸的是,这似乎是Word的缺点。有关详细信息,请参阅here

最简单的'解决方法是打开html文档,选择全部,复制然后粘贴到新文档中。这将嵌入图像。

import os
import win32com.client

word = win32com.client.Dispatch("Word.Application")

in_file  = os.path.abspath("example.html")
in_name  = os.path.splitext(os.path.split(in_file)[1])[0]
out_file = os.path.abspath("%s.doc" % in_name)

# Open and copy HTML
doc = word.Documents.Add(in_file)
word.Selection.WholeStory()
word.Selection.Copy()
doc.Close()

# Open new document, paste HTML and save
doc = word.Documents.Add()
word.Selection.Paste()
doc.SaveAs(out_file, FileFormat=0)
doc.Close()

word.Quit()