【问题标题】:Opening and Saving word files using Python comtypes when i can only open some files in read only mode?当我只能以只读模式打开某些文件时,使用 Python comtypes 打开和保存 word 文件?
【发布时间】:2020-07-21 06:28:53
【问题描述】:

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

【问题讨论】:

    标签: python permissions comtypes


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      • 2018-07-27
      • 2010-12-10
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多