我想构建一个应用程序来查看一堆PDF文件。它将有一些树来浏览内容,我将使用一些免费提供的PDF查看器库到我的应用程序中 但是,我想将这些PDF捆绑在我的应用程序的exe中(如果可能的话加密它们)。原因是我不希望用户能够保存文件。我希望他们只读取文件。 这可能吗?
PS:关于.net开发,我是新手。因此,请随意提出任何可以达到我目的的替代方案。
如果可能的话,还建议一个好的免费PDF查看器库,它只允许读取而不能保存/打印。
答案 0 :(得分:2)
基本上,您希望在EXE中嵌入恰好是加密PDF的资源。您可以脱机加密它们,然后将它们作为文件添加到Visual Studio项目中。将“构建操作”属性设置为嵌入资源。
这个回答了如何枚举嵌入资源: Embedded Binary Resources - how can I enumerate the image files embedded?
获得资源后,您必须解密并将数据传递给您选择的PDF查看器。
这个解释了如何使用AES对称算法加密和解密.NET: http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged%28v=vs.95%29.aspx
解密后,将数据传递给PDF查看器。如果你在SO上搜索这个,你会发现很多。