0

我正在寻找在服务器上呈现 PDF 的选项,以避免用户必须下载它们(它们是大文档)和/或安装和配置 PDF 阅读器(观众不精通技术)。Google Viewer 和 Scribd 是很好的例子,但我对在网络上提供 PDF(用于 Google)或将它们存储在另一方的服务器(Scribd)上不感兴趣。

我现在最喜欢的是FlexPaperPDFWebViewer.NET,但我想看看我是否缺少任何其他选项。关于这个主题的大多数相关 SO 问题都有些过时了,所以也许有一些新的东西?

还有其他选择吗?

4

6 回答 6

2

试用Atalasoft ($$)

于 2010-06-22T22:22:48.353 回答
1

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

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

于 2010-06-23T07:15:23.783 回答
1

在服务器上渲染 PDF 不是一种非常可扩展的方法。对于小型工作组,您可以这样做,但对于较大的工作组,您需要大量的硬件和带宽。返回 pdf 的各个部分要容易得多,因为格式是为此而设计的。我认为iTextSharp 可以提供帮助。

于 2010-06-22T23:09:44.967 回答
1

这个

有点杂乱无章,但它是免费的,如果你喜欢这种东西,你可以自己动手。

于 2010-06-22T21:34:09.527 回答
1

试用RAD PDF ($$)

于 2010-08-17T18:11:51.353 回答
0

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

您可以通过调用 ReportViewer.LocalReport.Render() 并为格式指定“PDF”来呈现为 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()
于 2010-06-22T20:24:55.423 回答