服务器端PDF查看的替代方案?

时间:2010-06-22 20:07:13

标签: asp.net flash pdf viewer

我正在寻找在服务器上呈现PDF的选项,以避免用户下载它们(它们是大文档)和/或安装和配置PDF阅读器(观众不懂技术)。谷歌浏览器和Scribd就是很好的例子,但是我不想在网上(谷歌)提供PDF或将它们存储在另一方的服务器(Scribd)上。

我现在的收藏夹是FlexPaperPDFWebViewer.NET,但我想看看我是否遗漏了其他任何选项。关于这个主题的大多数相关的SO问题都有点过时了,所以也许有新的东西?

还有其他选择吗?

6 个答案:

答案 0 :(得分:2)

尝试Atalasoft($$)

答案 1 :(得分:1)

this

有点混乱,但它是免费的,如果你喜欢那种东西,你就会弄脏你的手。

答案 2 :(得分:1)

在服务器上渲染PDF并不是一种可扩展的方法。您可以为小型工作组执行此操作,但对于较大的组,您需要大量的硬件和带宽。格式化后,返回pdf的部分要容易得多。我想iTextSharp 可以帮忙。

答案 3 :(得分:1)

您可以使用Aspose.Pdf.Kit for .NET将PDF页面转换为图像,然后使用任何图像控件查看这些图像。您可以将它与Windows窗体或Web窗体一起使用。您还可以使用Programmer's Guide,技术文章,视频和演示获得完整的帮助。您也可以在论坛中提出任何技术问题。

我是Aspose.Pdf.Kit团队的成员。

答案 4 :(得分:1)

尝试RAD PDF($$)

答案 5 :(得分:0)

您可以使用 ASP.Net ReportViewer控件来实现此目的。通常,该控件用于导出为PDF,但根据this,您可以在ReportViewer中显示现有的PDF文件:

  

您可以通过调用渲染为PDF   ReportViewer.LocalReport.Render()和   为格式指定“PDF”。然后   这个字节流可以任何方式使用   你想要的应用程序。

以下是该讨论的代码。您可以在评论中找到其他一些有用的信息。

Dim warnings As  Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()

'Get folder on web server from web.config
Dim FolderLocation As String
FolderLocation = System.Configuration.ConfigurationManager.AppSettings("ReportOutputPath")

'First delete existing file
Dim filepath As String = FolderLocation & "PCSummary.PDF"
File.Delete(filepath)

'Then create new pdf file
bytes = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, _
    encoding, extension, streamids, warnings)

Dim fs As New FileStream(FolderLocation & "PCSummary.PDF", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()