【问题标题】:How to change font in word document如何更改word文档中的字体
【发布时间】:2012-03-11 21:15:51
【问题描述】:

我想知道如何使用 C# 更改整个 word 文档(不包括页眉,如果可能的话)的字体(+ 颜色和一些字体样式)?

如果您知道任何库(也包括商业库),请随时告诉我。

(更改字体后,我将使用 ABCPdf 将该 word 文档转换为 PDF)

【问题讨论】:

    标签: c# ms-word


    【解决方案1】:

    根据库,您将遍历内容(页面/段落等)并更改您想要的任何字体属性...

    由于您没有说明您构建的是哪种类型的应用程序 - 如果它是纯桌面应用程序并且保证在本地安装 Word,您可以使用 Office InteropBEWARE that Office Interop is NOT supported by MS in server-scenarios (like IIS, ASP.NET. Windows Service, WCF etc.).

    如果不保证会安装 Word 和/或您的应用程序不是桌面应用程序,并且您的 Word 文档始终是 DOCX 文件,您可以使用OpenXML SDK V 2 from MS(免费)。

    否则我可以推荐Aspose.Words(商业)- 与旧 DOC 和当前 DOCX 一起使用,并且可用于任何类型的应用程序(桌面、ASP.NET、Windows 服务等)。

    【讨论】:

    • 嗯,它将是 APN.NET MVC 3 应用程序,它还将处理 .doc 和 .docx 文件。我会看看 Aspose.Words 库。感谢您提供有关 Web 场景中 Office 互操作的信息,它可能为我节省了很多时间
    • @Tony 不客气 :-) 请不要忘记将有帮助的答案标记为已接受,这有助于其他人寻找答案(请参阅meta.stackexchange.com/questions/5234/…
    • 嗯,在快速浏览了有关服务器场景中 Office 互操作的文章后,我想知道 - 因为我只想使用 doc/docx 文件中的字体 - 如果它也赢了在这种情况下不能正常工作。这似乎不是一个非常复杂的操作,可能与“使用 Office 服务器端自动化的问题”中包含的点有关。您是否在服务器方案上使用过 Office 互操作?
    • @Tony 链接指出了几个方面 - 法律(许可!)、安全性、多线程和其他几件事......根据我的经验,Office Interop ion 服务器显示出相当奇怪的结果,因为它不工作(往往发生在较新的 Windows 版本中)需要有风险的安全设置......有时只是打开并保存会导致复杂文件等问题 - 这让我很头疼......即使是最小的操作也不要使用服务器端Office 互操作。
    • 现在我知道我必须继续寻找解决方案。 Aspose.Word 的库似乎适合这种情况,但我看到 PDF 操作是他们的独立产品,这会提高总体许可成本。如果我找到的库 - ABCPdf 可以操作 office 文件中的字体,我仍然找不到答案(据我所知,它提供了转换 Office -> PDF)。或者,也许您知道一个库来处理办公文件并将它们转换为 PDF?
    【解决方案2】:

    在 .NET 中处理 Office 文档是一项非常简单的任务。看看Microsoft.Office.Interop.Word,它有很好的文档记录。这是另一个link,关于如何使用 .NET 更改 word 文档字体样式(示例在 VB 中,但很容易转换为 C#)

    【讨论】:

      【解决方案3】:

      Microsoft.Office.Interop.Word开始阅读

      (你可以google一些用户友好的例子,有很多)

      稍后,阅读Text Formatting

      很简单,不是吗?

      【讨论】:

        最近更新 更多