Best way to display pdf document in asp.net application - c#

I'm looking for the best way to display pdf document on a website. Surely I need to convert it to jpeg or gif for the browser to handle it. I read few posts but most refer to GhostScript and its pdf2image. But that solution calls for starting a process that would save a copy of pdf doc to the file system and then would have to be loaded back into memory for displaying. Frankly I find it a bit clumsy. For those of you who have done it, what library you used and if you could attach a link to some examples, I'd greatly appreciate it.
I'm developick a web application that helps manage manufacturing process and is accessed fron android tablets. Company has a stockpile of documentation in pdf files that is to be delivered to production managers. I'd love the solution to be akin Crystal Report Viewer contron but I I understand that I have to stick to pdf to image conversion. Please give me some advise here.

My advice is don't over think this.
You can simply add a link to the PDF file, which will open on a new tab.

You can take a look at http://mozilla.github.io/pdf.js/ which will allow you to render a PDF on the client side.
Or if you decide to go with a Ghostscript, you can take a look at http://ghostscriptnet.codeplex.com

By all accounts the PDF Focus .NET library seems to be the best solution. A wrd of advice is to add a cleanup method to the page unload to delete all temporary files that were used to feed source into image controls when displaying pictures on a website.

Related

How to convert PDF files to swf or HTML for viewing in C# MVC 4.5

I have hundreds of PDF files that i need to present to users. When presenting these files through my MVC web app i don't want the users to have the ability to download the files, e.g.. i don't want the Acrobat reader controls for print/save showing up. Reading this stackoverflow post it seems that it's not possible to disable those controls.
I know users can still take screen shots and print out the page, but that's not an issue in my case.
What is the best way to go about this. I've reasearched using SWFTOOLS which looks like it may be a good solution, but i dont want to save the swf files to my filesystem. The optimal solution is PDF.js, but another problem i have is users will be accessing the files through IE8 - so PDF.js is out of the question. Unless there is another similar library that will convert the files to HTML 4.
Basically I just need to display the PDF files, on the fly would be best, in a different format than PDF
Any suggestions?
I had a similar project a while back, where sensitive pdfs were needed to be displayed to specific users but they weren't allowed to download/print/save it.
Since it was a web app I ended up using pdf.js. It is Mozilla's PDF renderer for firefox. It renders the pdf on to a canvas and by default has all the bells and whistles. If you have firefox, open a pdf file to see it in action.
It was tough to get it running at first but I ended up using a demo I found online as the base of the project. After removing each functionality that was forbidden the finished product did exactly what was required. You will need to add a print css file to block printing or find a better solution. I ended up using the css approach since print preview by passed my javascript check for the print action. Also ensure you block ctrl + s which allows the user to save the pdf.
Another aspect to note is that it works better on later versions of IE and struggles on older versions as the file size increases. Firefox and chrome are not a problem and I believe its the same for opera although I haven't tested that.
I would convert it to an image file, you can find tools or write script to do it, I personally would do it by displaying them in browser first and then use browser plug-ins to take screenshot of the entire webpage.
(you can automate this)
then just display then converted pdfs
**this is probably not the best solution :( **

In ASP .NET is there a way to create a winform as a pdf viewer rather than using the browser?

In ASP .NET is there a way to create a winform (or something of the sort) as a pdf viewer rather than using the browser?
I need to restrict print, url to pdf and right click to save as image or anything else. If I can do this through the browser, where can I find some sample code?
I understand there are hacks to get that PDF downloaded and PRINT SCREEN is another option as well as any image capture program. This is in a INTRANET site so these things I am aware of and not worried about. We just need to make it difficult for non tech employees.
The PDF's hold important reporting information that we do not want print and leave in there office anymore.
Anyone have sample code to achieve this or any tutorial or any leads to the direction I need to take to achieve this?
FYI, site in 3.5 and Webforms...upgrade to 4 or 4.5 has not been approved yet.
Thanks in advance

Efficiently copy images in onenote

I'm currently working on a project that requires OneNote automation. Now I need to copy images from a page to another. I've found out some APIs on the Microsoft site like GetPageContent, UpdatePageContent to do this. Currently I am manually copy the one:Image Data into the new page. It works but to retrieve all the binary images takes quite a time. Is there any easier approach to achieve this? I've tried to use the Callback ID but it seems that a copied image gives a different ID so I can't just copy that.
I'm using Onenote 2013.
Regards,
ShiroYacha
There isn't a way to refer to the image that exists on another page when inserting an image to a page. What you are doing by copying the one:Image data is the only available approach for this.

Wanted: ASP.NET control to view/print PDF, TIFF, possibly more?

I'm looking for an asp.NET control that will allow for viewing and printing of a pdf and TIFF within a web form. I'm willing to use more than 1 control if needed (1 control for pdf, 1 for Tiff, show and hide based on file extension), but I have not been able to find a good Tiff viewer.
Files are stored on our LAN in a shared folder, and this application is an intranet site.
Open source / free licensing preferred, but I'm willing to look at paid options as well.
http://www.alternatiff.com/ is one of the viewers that I've seen used for this type of viewing of tiffs.
You can get a free licence of ABCPDF (provided you link back to their site) which will do the conversion from TIFF to PDF for you as per #Chris Lively 's suggestion.
It'll also do conversion from PDF to TIFF if you decide to do things backwards.
It makes sense to present the content in a common format. If you wanted to you can embed the PDF in the browser to create the 'seamless' experience you're looking for using something like PDFObject.
As #BenCr says though, PDF is a really common format and the tools already exist to open and work with them, so introducing new ways to perform existing tasks could actually end up complicating matters unnecessarily.
I'm in total agreement with #BenCr on this.
Viewing PDFs is an extremely common thing to do. This isn't a "technical" issue by any stretch.
It sounds like you have some type of faxing solution in place that is creating these documents. Most likely multi-page TIFF and PDFs.
If this is the case you might want to just convert the TIFFs to PDFs to begin with and run everything through Adobe's pdf reader. Every online fax solution does this.
You could try http://issuu.com/ and they appear to have a API too if you want to go that deep.
We used the the Seadragon control to do this. I think it was an overkill and we should have just rolled our own -- would have been cheaper than integrating it. TIFFs and PDFs are converted to PNG on the server side. I don't think you can do better than that, especially with PDFs (assuming you don't want to use Acrobat Reader to display them). Convert PDFs to PNG using Xpdf/Poppler.
How about using Google Docs Viewer?
EDIT: Probably not working, since the viewer has to read the document from your URL; when it's on the Intranet, this won't work.
If you can mess about with mime types -- mainly by making the .tiff files expose an application/pdf mimetype -- you should be able to get acrobat to open TIFF files directly by effectively fooling the browser to open TIFF files with acrobat. Then all you need is a trusty old iframe to get you familiar UI with print buttons.

C# PDF Control & Library

I'm looking for a way to display a PDF (similar to a picture box), in a Windows Form. After that I need to be able to create a PDF. What's the best library for the job for creating the PDF (from simple text)? I've taken a look at several and I'm not sure which one is the best. Preferably open source. As for the control, I tried the COM object Adobe provides... I can't seem to get it working. At all. I've tried loading several files, there are no errors. It simply fails to load.
PDF Sharp, Sharp PDF and iTextSharp are excellent. They are all OpenSource.
To answer your question about getting the PDF to render, you could use a WebBrowser Control on your form as long as the client workstation has Adobe Reader installed. The browser will automatically pick up the MIME type and load the in-browser Adobe Reader.
For rendering, I echo Will Marcouiller and SLaks. We have had good success with PDFSharp.
For creating pdf's iTextSharp is very good, and it's free too.
I worked with SharpPDF and it did great job. And it's open source.

Categories

Resources