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

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

>外部库是好的. Free显然是首选的,但是如果它们提供了许多所需的功能,那么商用的则很好.
>评论不一定需要能够从网站导出.即如果评论只是作为一个图层放在PDF文件的顶部(而不是在实际文件中),那就没关系.但显然出口功能越多越好.

我看了几个图书馆(使用相关的问题和谷歌),虽然我发现一些似乎做我想要的东西我不确定他们是蜜蜂的膝盖加上我想做尽可能多的自己.

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

>使用某种原生PDF查看,然后在它上面打下一层,你可以在那里移动评论等.
>将PDF转换为HTML并从那里开始工作.这里的问题是它需要适当的PDF(例如非扫描)或非常好的OCR,这似乎有点乏味.
>将PDF转换为图像并从那里开始工作.我担心这会产生大量的图像.我们正在谈论可能有数百页的PDF.一种选择当然是一次只显示一个PDF页面(图像).

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

关于这个项目的想法和意见非常感谢.

解决方法:

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

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

关于Silverlight与ASP.NET的问题,我认为这是您应该根据目标受众做出的选择.如果您期望很多Windows用户,Silverlight会没问题.如果您需要支持非Windows用户和移动设备,那么您可能最好使用html和脚本(无论如何在未来一年左右).

至于你对PDF到图像方法的大量图像的担忧;一切都取决于.对于大多数文档而言,屏幕分辨率的页面图像将非常好地压缩,并且良好的PDF渲染器将针对所需的缩放因子进行优化.
最重要的是,PDF格式允许快速随机访问,因此选择性地呈现页面是完全可以的. PDFWebViewer.NET足够快,可以在查看文档时逐页呈现大多数文档.

完全披露:我在PDFWebViewer.NET上为TallComponents工作.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...