C# 联机Office文档查看器

C# 联机Office文档查看器,c#,asp.net,ms-office,viewer,C#,Asp.net,Ms Office,Viewer,我正在使用Microsoft Online Viewer()显示我的asp.net mvc网站(在iframe中)中的文档。它允许查看word、excel和power point文档 我在查看器控件上使用了一个div来禁止用户单击“保存”和“打印”选项。 问题是当用户在iframe内按“Ctrl+P”时,它允许用户打印文档。 有人知道如何使用Microsoft Viewer禁用打印吗? 我尝试过的一些选项: 使用Javascript访问iframe并禁用打印-我不能这样做,因为iframe的源


我正在使用Microsoft Online Viewer()显示我的asp.net mvc网站(在iframe中)中的文档。它允许查看word、excel和power point文档

我在查看器控件上使用了一个div来禁止用户单击“保存”和“打印”选项。 问题是当用户在iframe内按“Ctrl+P”时,它允许用户打印文档。
有人知道如何使用Microsoft Viewer禁用打印吗? 我尝试过的一些选项:

  • 使用Javascript访问iframe并禁用打印-我不能这样做,因为iframe的源来自另一个域,它会生成跨源异常
  • 在查看器上显示一个透明的div,因此用户不能单击iframe来按“Ctrl+P”-如果用户单击滚动条,则它将聚焦iframe并允许打印
是否有办法使用此查看器或onedrive查看器,禁用打印选项?
多谢各位

--编辑--

我发现有一个名为wdPrint的参数用于禁用打印。当我共享文档时,它使用此参数。我将wdPrint设置为0,但它不起作用。我也无法禁用上下文菜单上的“下载”选项。
这是我的链接:


谢谢。

您不能为用户提供内容并阻止他们保存或打印。另外,您知道用户可以使用开发工具删除您添加的透明div,对吗?谢谢您的回答,Jason。是的,我知道他们可以使用开发工具删除透明div或查看iframe的源url,但大多数用户不知道如何做到这一点。他们当然知道使用“Ctrl+P”打印。如果有人“破解”它,那没问题。我只是担心大多数用户。在屏幕右下角的菜单中还有一个下载选项,在查看文档时对我有效。您是否使用Microsoft的云存储程序查看和编辑文档?