如何在线显示PDF而不必担心未经许可共享?

时间:2011-09-14 16:50:21

标签: c# asp.net html pdf

我工作的公司出售医疗统计报告。目前,这些报告是通过我们的网站购买的,然后医疗保健提供者会收到PDF报告的链接。此链接指向一个Web服务,该服务验证购买并将PDF转储到响应流中。我们的Web应用程序是用ASP.NET C#编写的。

直到下载点这个过程非常安全,但没有什么能阻止提供商与他人共享这些报告。由于我们的报告主要在PC上查看,因此我们正在寻找选项来对这些PDF进行仅限网络查看,以防止客户根本无法下载报告。他们会登录他们的帐户并在线查看报告。

这样做的最佳方法是什么?我们可以使用哪种查看器,使最终用户能够看到PDF但无法下载? Flash浮现在脑海中,但我们希望在iPad上可以看到这些报告,因为许多医疗保健提供商正在迅速采用iPad。

更新

经过你们的一些精彩反馈,我认为这不是一件容易的事。我的同事一直在阅读你的回答并进行讨论。我认为我们同意我们需要让分享这些报告更加痛苦,因为我们很难让它变得不可能。使用用于登录我们网站的密码保护密码似乎是一个不错的选择。

他们分享PDF并且不共享他们的帐户信息是有原因的,他们的“朋友”可以登录并下载他们想要的所有报告。因此,分享使用他们用于登录我们服务的相同密码锁定的PDF就足以阻止他们。

结合水印来识别客户何时碰巧回到我们身边似乎是我们唯一可用的实际选择。

谢谢大家。

6 个答案:

答案 0 :(得分:3)

根据定义,如果用户正在查看pdf,他们已经下载了它。如果你把它翻译成html / css,那么他们就可以下载并保存/打印html(并使用pdf打印驱动程序,在任何情况下直接打印到全新的PDF,绕过整个“安全”系统)。

如果您想阻止共享PDF,请使用密码保护它们。 PDF支持主密码(需要进行更改)和用户密码(打开它)。将用户ID编码为pdf(水印“由用户XYZ”在某处下载)并打上主密码。然后你就能弄明白究竟是谁泄露了PDF,如果它出来了 - 那里会有一个很好的大水印“他们就这么做!”对你而言。

PDF确实有防止打印,屏幕阅读等选项...但这些只是读者程序的提示。当然,Adobe Reader会尊重他们,但如果它选择的话,地球上的任何其他读者都可以自由地忽略这些限制。

答案 1 :(得分:1)

您可以共享您向客户端计算机提供的任何信息,无论其机制如何。没有根本的方法可以阻止它。

考虑一下: 假设您为数据/文件创建了某种类型的“查看器”应用程序。假设您已经设法以这样一种方式创建它,即只有运行应用程序的人才能为此付费。 (非常大的假设)

现在,用户启动应用程序,下载数据并在屏幕上看到它。 “大!”您认为。但是,它仍然不安全。用户可以轻松地进行屏幕截图(各种方式),只需将其粘贴到电子邮件中并传递给它。

重点是,即使您以某种方式完全控制初始分布,您也无法控制桌面。桌面非常强大。

关于PDF ......他们需要一个观众。有许多不同的观众,他们都对PDF中的限制“提示”提供不同程度的支持。无论如何,交付的文件将由浏览器缓存并且非常容易访问。


顺便说一下,您可以调查scribd.com他们有一个开发人员API,可能对所有情况都有帮助,但屏幕截图。您也可以查看Adobe Digital Editions。它被认为是“安全的”......无论那意味着什么;)

答案 2 :(得分:0)

严格的答案是,“你做不到”。您在网络浏览器中显示的任何内容,我都可以截取屏幕截图。截图只是我最后的选择。通常,我有更好的选择。如果是常规网页,我可以复制/粘贴文本。如果它是PDF,我可以保存。如果您将PDF转换为服务器上的JPG并将其发送给我,我可以保存JPG。如果您尝试使用Flickr的蹩脚技巧将透明图像放在真实图像上,这样我就无法右键单击并选择“将图像另存为”,我可以使用adblock或类似的插件来阻止您的透明图像。

在一天结束时,你能做的最多就是让用户做副本比让合法购买另一个副本更烦人。

答案 3 :(得分:0)

技术上这是不可能的。我跟随的是可能的解决方案。(几乎没有一个是理想的)

1- Make受密码保护。 (包括某种DRM。)

2-添加个性化水印。

3-将您的PDF转换为SWF进行显示(这可能是最佳解决方案)。

4-使用某种脚本模糊你的pdf路径。

我想不出别的什么。我认为还没有找到解决这个问题的方法。我认为大型出版物有某种监控公司,监控非法发行。您也可以使用某些脚本来实现这一目标。

答案 4 :(得分:0)

您可能对Adobe LiveCycle感兴趣。这是Adobe的权利管理工作之一,可能是您正在寻找的,或者至少可以为您提供有关如何保护数据的一些想法。

http://www.adobe.com/products/livecycle/rightsmanagement/

他们有interesting PDF here关于

  

管理防火墙内外的敏感数据

答案 5 :(得分:0)

我不确定这是否可行,因为PDf已加载到客户端的Adobe Reader / Acrobat中。您可以查看Winnovative的HTML to PDF工具 - 我知道您可以指定一些安全选项。

这是Winnovative网站的链接:
http://www.winnovative-software.com/

以下是您在创建PDF文档时可以指定的一些安全选项:

PdfConverter pdf = new PdfConverter();

pdf.PdfSecurityOptions.CanCopyContent = false;
pdf.PdfSecurityOptions.CanPrint = false;
pdf.PdfSecurityOptions.CanEditContent = false;

我不确定,但其中一个选项可能会禁用下载功能。