2011-02-22 50 views
4

我正在寻找一种免费的方式或.Net组件来在浏览器中显示PDF文件,并允许打印文件。什么方法/组件/库可以做到这一点,以及您对这个问题有什么指导意见。如何以asp.net网页形式显示pdf文件

+1

很宽泛的问题,你不觉得吗? – Oded 2011-02-22 21:02:06

+0

PDF实际上是使用浏览器插件在浏览器中加载的。你是否在寻找一种解析服务器端PDF并在IFrame内部加载内容的控件? – abhishek 2011-02-22 21:03:09

+2

可以查看使用Google文档。将PDF传递给Google,并将其转换为PDF-> HTML,尽管这是最好的。 PDF存在可移植性,我不明白为什么你的客户不会支持其中一种最通用的文档格式。 – 2011-02-22 21:04:20

回答

1

如果您不希望显示在客户端上的PDF,你有一些选项...基本上,大部分的选项归档围绕转换到别的用户可以使用:

  • HTML
  • RTF(大多数人可以查看/打印客户端软件)
  • 你总是可以使用软件将其转换成一组图片,但是这是非常处理器密集型的,需要用户invidually打印这些出。
  • 转换为xps,但这需要将xps安装在客户机上。

那么,为什么你不能依靠PDF查看器?

+0

它不是我不能依赖PDF阅读器,它比我想让PDF在可以看到其他内容的网络表单中可见。 – MAW74656 2011-02-22 21:37:42

+0

iframe是否足够? – RQDQ 2011-02-22 21:51:52

+0

可能,我可以更改哪个pdf文件很容易从代码中加载吗?你知道有关如何这样做的好教程吗? – MAW74656 2011-02-22 22:10:02

0

即使转换PDFHTMLIMAGE你不会得到相同的质量或某事接近原始文档。这不仅仅是一堆文字和图像,还有PDF

如果您的客户不能支持大多数着名的文档格式(可移植文档格式 - > pdf),那么您需要再次考虑设计。

1

您可以使用基于Microsoft Silverlight框架的this project

在mentionned项目有ARTE两种情况:

  1. 混合视觉 - 在

    • 用来输出PDF创建定位DIV
    • 创建IFRAME和位置/大小是
    • 调用mqzJsCalls。moveHTMLZone(X,Y,W,H)从所述的Silverlight用户控制
    • 负载PDF到IFRAME
  2. (从/到PDF输入/输出)Silverlight和PDF之间的数据交换

    • 从托管代码设置消息处理程序和hostContainer
    • 揭露编写脚本的对象
    • PDF通知它已经准备好
    • 何主机牛逼将数据发送到PDF
    • 主机通知它需要用户数据
    • PDF的用户数据发送给主机

我没有亲自测试过这个特殊的项目,但我发现这个网站不错的PDF并可靠的.NET解决方案。