views:

112

answers:

7

I'm looking at options for rendering PDFs on the server to avoid the user having to download them (they're big docs) and/or have a PDF reader installed and configured (audience is not tech savvy). The Google Viewer and Scribd are nice examples, but I'm not interested in making the PDFs available on the web (for Google) or storing them on another party's servers (Scribd).

My favorites right now are FlexPaper and PDFWebViewer.NET but I wanted to see if I'm missing any other options. Most of the related SO questions on this topic are somewhat dated, so maybe there's something new?

Any other options to check out?

A: 

You may be able to use the ASP.Net ReportViewer control for this purpose. Usually, that control is used for exporting to PDF, but according to this, you can display an existing PDF file in a ReportViewer:

You can render to PDF by calling ReportViewer.LocalReport.Render() and specifying "PDF" for the format. Then this byte stream can be used any way you want in your application.

Here's the code from that discussion. You might find some other useful information there in the comments.

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()
DOK
Thanks, but this solution delivers a PDF to the browser right? I already have a PDF and want to deliver something else (images, flash, html, whatever) so a 50 MB PDF file doesn't need to be downloaded by the end-user.
RyanW
+1  A: 

There's this.

A bit of a mishmash, but it's free and you get to get your hands dirty if you like that sort of thing.

Steve
Thanks, there's some great foundation in that article for converting to images.
RyanW
+1  A: 

Try Atalasoft ($$)

ram
+1  A: 

Rendering PDFs on the server is not a very scalable approach. You can do that for a small workgroup, but for a larger group you'd need a lot of hardware and bandwidth. Returning sections of a pdf is much easier as the format is made for that. I think iTextSharp can help.

Stephan Eggermont
+1  A: 

Hi,

You can use Aspose.Pdf.Kit for .NET to convert the PDF pages to images and then view those images using any image control. You can use it either with Windows Forms or Web Forms. You can also get complete help using Programmer's Guide, Technical Articles, Videos and Demos. You can also ask any technical questions in the forums.

I'm a member of the Aspose.Pdf.Kit team.

Code.Guru
Thanks, I did take another look at Pdf.Kit and you're right it would do the image conversion. But, the key here is getting close to what a PDF reader provides, so I need more than "any" image control, such as the PDFWebViewer offered by Tall Components.
RyanW
A: 

Try RAD PDF ($$)

userx
A: 

Try AccelSee

james