当我只能以只读模式打开某些文件时,是否使用Python comtypes打开和保存word文件?

2024-04-25 00:16:37 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有人有打开许多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()

Tags: path代码name文档服务器编辑inputoutput
1条回答
网友
1楼 · 发布于 2024-04-25 00:16:37

将word文档作为数据文件打开,将临时word文档作为输出文件打开,在循环中读取BUFSIZE块的数据,将数据写入输出文件,完成后关闭文件。基本上,将word文件的二进制副本复制到一个临时文件中,然后将生成的docx临时文件PDF化并删除它

这是一个额外的步骤,需要额外的磁盘空间来存放临时文件,但如果您不受限制,这肯定比担心打开的文件更安全

这篇文章:Python writing binary files, bytes提供了一些复制二进制文件的想法

相关问题 更多 >