我正在寻找在服务器上呈现PDF的选项,以避免用户下载它们(它们是大文档)和/或安装和配置PDF阅读器(观众不懂技术)。谷歌浏览器和Scribd就是很好的例子,但是我不想在网上(谷歌)提供PDF或将它们存储在另一方的服务器(Scribd)上。
我现在的收藏夹是FlexPaper和PDFWebViewer.NET,但我想看看我是否遗漏了其他任何选项。关于这个主题的大多数相关的SO问题都有点过时了,所以也许有新的东西?
还有其他选择吗?
答案 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()