【问题标题】:Open corrupted Word document in C#在 C# 中打开损坏的 Word 文档
【发布时间】:2012-08-27 13:28:12
【问题描述】:

我正在开发一个将 word 文档转换为 pdf 的应用程序。它工作正常,但万一 word 文档损坏并说“文件正在使用”并给出 3 个选择。在那个区域,应用程序失败了。

这就是我打开 Word 文档的方式。

wordDocument = wordApplication.Documents.Open(
                              ref paramSourceDocPath, ref paramMissing, ref paramMissing,
                              ref paramMissing, ref paramMissing, ref paramMissing,
                              ref paramMissing, ref paramMissing, ref paramMissing,
                              ref paramMissing, ref paramMissing, ref objWordVisible,
                              ref objOpenAndRepair, ref paramMissing, ref paramMissing,
                              ref paramMissing);

这就是我导出为 PDF 的方式:

wordDocument.ExportAsFixedFormat(paramExportFilePath, paramExportFormat, paramOpenAfterExport, paramExportOptimizeFor, paramExportRange, paramStartPage, paramEndPage, paramExportItem, paramIncludeDocProps, paramKeepIRM, paramCreateBookmarks, paramDocStructureTags, paramBitmapMissingFonts, paramUseISO19005_1,ref paramMissing);

【问题讨论】:

  • 这里没有问题...
  • 文件不必被损坏才能使用...
  • 如果文件已损坏,则说明已损坏。你可以在 Word 中打开它吗?
  • 感谢您的回复。当我打开该词时,它会打开一个对话框,显示“正在使用的文件”并提供 3 个选项,例如 1. 以只读方式打开,2. 复制文件以进行修改,3. 我不记得了。如果我给只读然后它打开。因此它仅有效但被某些应用程序破坏或未正确关闭。
  • 自 Office 2007 起,Microsoft 提供了将 Word 转换为 PDF 文档的功能。如果可以选择,使用该功能似乎是一个更好的主意。

标签: c# ms-word


【解决方案1】:

如果该文档正在被其他应用程序使用,请创建该文件的copy,然后打开副本。然后您应该能够以独占方式打开它并执行您的操作。

【讨论】:

  • 但是这个应用程序将处理 lacs 和 lacs 文件。所以当我复制时,它会增加 IO 操作和磁盘大小
猜你喜欢
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-29
  • 1970-01-01
相关资源
最近更新 更多