【问题标题】:How to display word document on a aspx page?如何在aspx页面上显示word文档?
【发布时间】:2014-04-29 22:59:05
【问题描述】:

我想在aspx 页面上显示我更新的文档。我为此搜索了很多。但我找不到任何合适的方法。我已经尝试了很多东西。

  1. 我试过Microsoft Interop dll将word文档转换成pdf 然后我将pdf文件显示到它工作但发现问题的页面 不能在生产机器上使用 Interop dll。和别的 无法将事物互操作 dll 复制到项目中。
  2. 我正在使用 OpenXml 更新我的 word 文档。所以我尝试OpenXmlPowerTool 将文档转换为 Html。但它没有正确转换文档。图像不可见,某些文本格式不正确。

另一个问题是我不能使用我必须购买的第三方工具。我只能使用免费提供的开源产品。

谁能知道我该怎么做?
任何建议将不胜感激..!

【问题讨论】:

  • 你所说的“显示”到底是什么意思?为什么不直接允许下载word文档?
  • 不,我不能那样做。它是一个 SharePoint 应用程序。根据某些数据正在更新哪个文档,更新后它将作为报告显示给用户。之后,用户将保存或下载文档。
  • 为什么不“...更新后,用户将下载文档并保存或打开显示”?很抱歉重复这个问题,但我真的不明白您为什么要尝试将其转换为 pdf 或 HTML。您确实意识到,如果您想在用户的计算机上显示它,则必须将其下载到该计算机上,对吗?
  • 用户在将报表保存到文档库之前需要确认数据是完善的。
  • 如果您已经拥有 SharePoint,您可以查看 OfficeWebApps。我能够使用 OWAS 将 Word 文档加载到网页中。它还使您能够编辑和保存这些文件。

标签: c# asp.net


【解决方案1】:

您可以使用一些专有库(如aspose)将其转换为pdf,并通过adobe acrobat kit(codeproject howto)向用户显示该pdf文件。

【讨论】:

    【解决方案2】:

    这对我有用,但您需要将文档作为二进制数组。但是,您可以从这里开始工作:

    ...
    byte[] docFile = null;
    ...
    Response.ClearHeaders();
    Response.AddHeader("Content-Disposition", "attachment; filename=\"Document.doc\"");
    Response.ContentType = "application/x-unknown";
    Response.BinaryWrite(docFile);
    Response.End();
    

    注意:application/x-unknown 用于强制浏览器提示用户打开或保存

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      相关资源
      最近更新 更多