views:

98

answers:

2

I am wondering if there is anything built in to Silverlight, or possibly c# to allow for printing reports?

I'd be happy with any number of methods: exporting files to a pdf format and printing from there, exporting as a text document of some sort and printing from there, or just simply showing the print dialog from the web application itself.

I know there are ways to do this in C#, but the c# code-behind is different for many things in Silverlight applications and I can't seem to find anything that will work.

So if anyone has any ideas on things I could try it would be very much appreciated!

Thank you!

+4  A: 

Hi there,

Silverlight does have built-in bitmap printing support since version 4. You can find some good info on Shawn's blog: http://wildermuth.com/2009/11/27/Silverlight_4_s_Printing_Support

As I said, it's only bitmap-based though, with the drawbacks that come with bitmaps (no proper scaling etc.).

Another nice workaround that I like is to convert the data you want to print into a PDF on the server side. You can host a web service on the server, send the data to print from the client to the server through that service and then on the server use e.g. Acrobat Distiller or whatever PDF printing utility you like to generate a PDF file. When PDF generation has finished, the server sends a URL back to the client that points to the newly generated PDF file. In your Silverlight app, you can then simply open that URL in a new window, for instance. This is however more of a PDF export rather than printing, as the PDF will only be opened on the client side but not printed automatically.

PDF generation on the client side in contrast is not possible by default in Silverlight. There are however third-party libraries out there that can do that.

Cheers, Alex

alexander.biskop
At this stage I would be perfectly happy with bitmap-based printing. But this method of PDF generation mentioned looks to be something that would be very nice. If I understand correctly, it should allow the user to choose to save the generated report or print it, which would ultimately be something I'd like to incorporate in the app.I'll definitely look into your solution further, But it seems to be just what I need! Thank you very much!
AmbiguousX
+1  A: 

You might also check out Pete Brown's simple Silverlight 4 report writer: http://10rem.net/blog/2010/05/09/creating-a-simple-report-writer-in-silverlight-4

A more full-featured but requirement heavy (needs ASP.NET server side) option is Perpetuum's SharpShooter: http://www.perpetuumsoft.com/Report-Sharp-Shooter-for-Silverlight.aspx

James Cadd