上次修改时间: 2010年4月1日
适用范围: SharePoint Server 2010
本主题提供有关 Word Automation Services 文档转换失败的基本信息以及在自定义应用程序中处理这些失败时应遵循的基本原则。
Word Automation Services 疑难解答
文件转换是如何失败的
导致 Word Automation Services 失败的原因有很多。当该服务正常运行时,导致转换失败的最常见原因如下所示:
管理员有意阻止文件类型(使用 SharePoint Server 2010 管理中心网站)。
文件受到密码保护或需要信息权限管理 (IRM) 权限才能查看。
文件类型不受此版本的 Word Automation Services 支持。该服务不支持对使用 Word 2010 之前的预览版本的 Word 创建的文档进行转换。
提交转换作业的用户具有的权限不足,无法在转换的源位置或目标位置进行读写操作。
对于以上任何情况,最终用户都可以采取措施来纠正导致失败的根源。理想情况是,使用 Word Automation Services 对象模型的解决方案应在报告转换项无法转换时向最终用户显示错误消息。该错误消息告知最终用户文件无法转换的原因以及采取哪些操作以使 Word Automation Services 能成功转换文件。
导致转换失败的另一个较少见的原因是文件已损坏。此类失败会导致各种结果:一些文件无法打开;一些文件可以打开但无法转换;其他文件可能正在打开并导致转换过程失败或停止响应。如果发生此情况,转换过程会重新启动,并且导致该过程失败或停止响应的文件会标记为失败的转换项。
通常,可以通过在客户端版本的 Word 中打开并重新保存已损坏的文件来修改该文件(Word Automation Services 不支持任何形式的文件修复)。一旦完成此操作,便可将文件重新提交到 Word Automation Services 以进行转换。
另外,可能会发生系统失败,从而导致多个转换项失败。在发生此情况时,Word Automation Services 处于非正常运行状态,系统管理员应立即采取措施。
解决方案应如何处理失败的转换
无论转换因何种原因导致失败,都可以使用对象模型来查询转换项的 ErrorMessage 属性。然后,可将此信息显示给用户,以便用户了解失败发生的原因和方式以及(如果可能)可执行哪些操作来解决问题。每个会导致转换失败的已知失败条件都具有一条对应的消息。当最终用户无法解析失败时(例如,Microsoft SQL Server 数据库已无法到达),该消息会指示最终用户联系其系统管理员。
ErrorMessage 属性返回一个字符串,可将该字符串本地化为用户的浏览器语言。如果用户使用的 Web 前端上未安装适当的语言包,则使用 SharePoint Server 2010 安装的默认语言。以下是 Word Automation Services 错误消息示例:
“无法转换此文件;它可能已损坏或无效。请尝试用 Microsoft Word 打开文件,并重新保存,然后重新提交文件以进行转换。如果这样做仍不能解决问题,请与您的系统管理员联系。”
ErrorMessage 以基于整数的唯一错误消息代码形式存储在文档队列中。将错误消息代码与浏览器区域性设置一起使用可确定运行时要返回的适当的本地化字符串。可使用 ErrorCode 属性以编程方式确定错误消息代码。建议在通知最终用户错误事件时,自定义应用程序包括错误代码与错误消息。以下是包含错误代码的错误消息的示例:
“无法转换此文件;它可能已损坏或无效。请尝试用 Microsoft Word 打开文件,并重新保存,然后重新提交文件以进行转换。如果这样做仍不能解决问题,请与您的系统管理员联系。(ErrorCode: 131174)”
系统管理员可使用错误代码来搜索特定于错误条件的疑难解答信息。
请参阅
概念
Word Automation Services 开发人员的常见问题