C#中的PDF审阅者(ASP.NET/Silverlight?)

C#中的PDF审阅者(ASP.NET/Silverlight?),c#,asp.net,silverlight,pdf,C#,Asp.net,Silverlight,Pdf,我基本上计划在PDF文件上模拟注释功能,但是是在线的。就是,;一个用户应该能够登录并上传一个PDF文件,然后许多不同的用户应该能够向同一个文件添加评论等(并在线查看带有评论的文件) 外部库是可以的。免费的显然是首选,但商业的也可以,只要它们提供了大量所需的功能 评论不一定需要能够从站点导出。也就是说,如果评论只是放在一个PDF文件(而不是在实际文件)上面的一层,这是可以的。但显然,导出功能越多越好 我查看了一些库(使用相关问题和谷歌),虽然我发现一些库似乎能满足我的需求,但我不确定它们是否是

我基本上计划在PDF文件上模拟注释功能,但是是在线的。就是,;一个用户应该能够登录并上传一个PDF文件,然后许多不同的用户应该能够向同一个文件添加评论等(并在线查看带有评论的文件)

  • 外部库是可以的。免费的显然是首选,但商业的也可以,只要它们提供了大量所需的功能

  • 评论不一定需要能够从站点导出。也就是说,如果评论只是放在一个PDF文件(而不是在实际文件)上面的一层,这是可以的。但显然,导出功能越多越好

我查看了一些库(使用相关问题和谷歌),虽然我发现一些库似乎能满足我的需求,但我不确定它们是否是蜜蜂的膝盖加上,我希望自己尽可能多地去做

我想到的三种基本方法是:

  • 使用一些原生的PDF查看,然后在上面加一层,在上面你可以移动评论等

  • 将PDF转换为HTML并从那里开始工作。这里的问题是,它要么需要正确的PDF(例如未扫描),要么需要非常好的OCR,这似乎有点乏味

  • 将PDF转换为图像并从那里开始工作。但是,我担心这会产生大量的图像。我们谈论的PDF可以有数百页。当然,一个选项是一次只显示一个PDF页面(图像)

最后,我应该看看Silverlight,还是使用ASP.NET


非常感谢您对本项目的想法和意见。

我本人也是一名Silverlight开发人员,因此我的回答会有些偏颇。但如果我是你,我会研究这个组件:

如果该组件在处理.pdf文件方面做得很好,那么在Silverlight中实现注释功能本身应该不会太困难。当然,这取决于您的确切要求,也取决于您对该技术有多少经验


无论如何,这将是我的出发点。

您可能想从TallComponents看一看。它是一个基于ASP.NET Ajax的查看器,采用PDF到图像的方法。网站上有一些现场演示和免费下载的试用版

对于注释,您可以添加一些自定义代码来处理注释。TallComponents还有其他组件,允许您操作PDF文档以添加PDF注释(与Acrobat兼容)

至于你关于Silverlight和ASP.NET的问题,我认为这是你应该根据目标受众做出的选择。如果你希望有很多Windows用户,Silverlight就可以了。如果您需要支持非windows用户和移动设备,您最好使用html和脚本(至少在明年左右)

至于你担心的PDF到图像方法的海量图像;那要看情况而定。对于大多数文档来说,屏幕分辨率的页面图像都会得到很好的压缩,而一个好的PDF渲染器会针对所需的缩放因子进行优化。 除此之外,PDF格式允许快速随机访问,因此有选择地呈现页面是完全可以的。PDFWebViewer.NET的速度足以在查看文档时按需逐页呈现大多数文档


完整披露:我为PDFWebViewer.NET上的TallComponents工作。

+请回答我对所有问题的评论-谢谢。