【发布时间】:2010-08-01 01:50:07
【问题描述】:
是否有人知道任何组件或库(最好是开源的)可以让我使用 ASP.NET 将 Word 2007 文档转换为 Word 2003?
【问题讨论】:
-
您的意思是使用 .NET 而不是 ASP.NET 进行转换?
-
哈,是的,这就是我的意思,理查德。对不起。
是否有人知道任何组件或库(最好是开源的)可以让我使用 ASP.NET 将 Word 2007 文档转换为 Word 2003?
【问题讨论】:
要使用 Visual Studio Tools for Office (VSTO),您需要在服务器上安装 Office 2007。
Microsoft.Office.Tools.Word.Document.SaveAs
public virtual void SaveAs (
[OptionalAttribute] ref Object FileName,
[OptionalAttribute] ref Object FileFormat,
[OptionalAttribute] ref Object LockComments,
[OptionalAttribute] ref Object Password,
[OptionalAttribute] ref Object AddToRecentFiles,
[OptionalAttribute] ref Object WritePassword,
[OptionalAttribute] ref Object ReadOnlyRecommended,
[OptionalAttribute] ref Object EmbedTrueTypeFonts,
[OptionalAttribute] ref Object SaveNativePictureFormat,
[OptionalAttribute] ref Object SaveFormsData,
[OptionalAttribute] ref Object SaveAsAOCELetter,
[OptionalAttribute] ref Object Encoding,
[OptionalAttribute] ref Object InsertLineBreaks,
[OptionalAttribute] ref Object AllowSubstitutions,
[OptionalAttribute] ref Object LineEnding,
[OptionalAttribute] ref Object AddBiDiMarks
)
您需要从WdSaveFormat 枚举中指定自定义FileFormat。
我没有找到如何强制使用非常旧的 2003 格式,但您可以将其保存为 RTF (WdSaveFormat.wdFormatRTF)
【讨论】:
您能否安装(或让您的用户安装)Microsoft Office Compatability Pack?这允许 Word 2003 打开 Word 2007 以二进制 (.doc) 和 XML (.docx) 格式保存的文档。
如果您有一个 2007 文档流到达您的公司,那么也许您可以编写一个 Word 2003 加载项,它使用 FileSystemWatcher 来监视放置文件的文件夹。然后它将打开文件并将其重新保存到新位置,采用 2003 格式。
【讨论】:
作为后续行动,我获准使用 Aspose.Words for .NET。感谢您对这个问题的 cmets 和建议。谢谢!
【讨论】: