【发布时间】:2010-09-21 21:41:56
【问题描述】:
我正在寻找一个允许创建 Word 文档的 .NET 库。我需要将基于 HTML 的内容导出到 Word doc(97-2003 格式,而不是 docx)。
我知道有 Microsoft Office 自动化库和 Office 互操作,但据我所知,它们要求您实际安装了 office,并且它们通过打开 word 本身来进行转换。但我不想要求安装办公室才能转换工作。
编辑:如果可能的话,甚至可以转换为 RTF。
【问题讨论】:
我正在寻找一个允许创建 Word 文档的 .NET 库。我需要将基于 HTML 的内容导出到 Word doc(97-2003 格式,而不是 docx)。
我知道有 Microsoft Office 自动化库和 Office 互操作,但据我所知,它们要求您实际安装了 office,并且它们通过打开 word 本身来进行转换。但我不想要求安装办公室才能转换工作。
编辑:如果可能的话,甚至可以转换为 RTF。
【问题讨论】:
如果我以某种方式将 CSS 转换为嵌入 HTML,它会起作用吗?
是的。正如我所提到的,我使用内部样式表。
文档示例:
<html>
<head>
<STYLE type="text/css">
h1 {text-align:center; font-size:12.0pt; font-family:Arial; font-weight:bold;}
p {margin:0in; margin-bottom:0pt; font-size: 10.0pt;font-family: Arial;}
p.Address {text-align:center;font-family:Times; margin-bottom: 10px;}
</style></head>
<body>
<p class="Address">The Street</p>
<h1>Head</h1>
【讨论】:
我使用 Aspose 处理 Word,让一切变得轻而易举:http://www.aspose.com/
【讨论】:
我发现以 HTML 格式输出但名为 .doc 的文档将在 Word 中以正确格式打开。我用 Word 2000 和一个带有内部样式表的文件进行了测试。
【讨论】:
从 ASP.NET 使用 Word 自动化不是一个好主意(请参阅 MSKB - http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2)
如果您不使用 WinForms,恕我直言,您最好的选择是生成 RTF,ms word 会很高兴地打开它。 (请参阅已引用文章中的链接)。
祝你好运!
【讨论】:
由于文档格式规范未开放,互操作程序集是 Microsoft 解决方案,我担心它们是您的主要(甚至唯一)选择。
它们确实需要安装 office,并且它们打开 Word(尽管显示窗口是可选的)。
我认为 Word 可以打开 HTML 文档;你有这个选择吗?
【讨论】:
我尝试直接在 word 中打开 html,这在技术上是有效的,除了一件事......我的 html doc 也包含 CSS,在 Word 中打开时,它完全忽略了 CSS,所以我不再有任何格式。我意识到我不会从 CSS 中获取所有内容,但我至少希望仍然拥有指定的字体、字体大小等……有什么方法可以让它读取 CSS?如果我以某种方式将 CSS 转换为嵌入 HTML,它会起作用吗??
【讨论】:
有一个名为 JODConverter 的工具,它可以连接到开放式办公室以公开其文件格式转换器,还有可以发布到的 web 应用程序(位于 tomcat 中)和命令行工具的版本。我一直在使用 html 并成功转换为 .doc 和 pdf,它在一个相当大的项目中,还没有上线,但我想我会使用它。 http://sourceforge.net/projects/jodconverter/
【讨论】: