是否有人有打开许多Word文档并将其保存为PDF的经验,但当它们位于共享服务器上时,可能有其他人正在编辑它们,但您仍然希望浏览并保存PDF
我有一些使用comtypes的代码,如下所示,这些代码适用于共享驱动器上其他用户未编辑的文件,但如果任何文档当前由同事打开,则将失败,因为它们以只读方式打开,我无法保存
word=comtypes.client.CreateObject(Word.Application)
word.Visible = 1
input_file_path = input_file_path
doc = word.Documents.Open(input_file_path)
file_name = os.path.splitext(input_file_name)[0]
output_file_path = output_file_path
doc.SaveAs(output_file_path,32)
doc.Close()
word.Quit()
将word文档作为数据文件打开,将临时word文档作为输出文件打开,在循环中读取BUFSIZE块的数据,将数据写入输出文件,完成后关闭文件。基本上,将word文件的二进制副本复制到一个临时文件中,然后将生成的docx临时文件PDF化并删除它
这是一个额外的步骤,需要额外的磁盘空间来存放临时文件,但如果您不受限制,这肯定比担心打开的文件更安全
这篇文章:Python writing binary files, bytes提供了一些复制二进制文件的想法
相关问题 更多 >
编程相关推荐