打印 asp.net mvc 项目中的 doc 文件

Print doc files in asp.net mvc project

我正在开发一个 asp.net mvc 项目。如何打开 doc.file 以从页面打印它?我现在唯一能做的就是下载,但是,我想以 window.print()

的形式将其作为打印友好文件打开

通常您只需提供正确的内容类型。然后用户可以在浏览器中查看文件并打印它。

但是,如果浏览器没有合适的插件,那么用户只能下载文件。

public ActionResult Download()
{
    return File("~/MyDocument.doc", "application/vnd.ms-word", "MyDocument.doc");
}

.doc 文件被设计成可以用 MS Word 打开(并且曾经有一个 Word Viewer 大概是为这类事情设计的)。还有其他应用程序(例如 OpenOffice / LibreOffice)可以让您读写 MS Word 文档并取得不同程度的成功。

因此,正如@Win 指出的那样,一种选择是要求用户安装一些兼容的应用程序。您经常会在 PDF 文件中看到这一点,该站点通常会包含 link 以下载 Adob​​e (Acrobat) Reader。外部应用程序将用于显示文件;如果应用程序可以 运行 作为插件,内容将显示 "inside" 浏览器。

如果该应用主要面向您企业内部的用户,并且他们都安装了 Office,那么这是一个完全可以接受的解决方案。

如果您想让没有 Office 的人(and/or 没有 运行 Windows)可以使用这些内容,这会变得更加困难。您需要:

  • 编写一个 MVC 视图,它将 parse/render .doc 文件(不适合胆小的人)
  • 将内容转换为更容易的其他格式(PDF 或 HTML)"consumed"。