I have an image an a textbox. the user enters into the textbox the number of copies (N) and clicks print. The printer prints the photo N times (3 photos per page, one under the other).
Hiw would you do something like that? Do I need to first generate a silverlight page?
Silverlight has a really simple to use Printing API. I have recently been using it and learnt how to do so using the tutorial Melodatron listed, and this one over at the Visiblox site. This is specific to their charting library but I still found it very useful.
I am assuming that you only have 1 image to print at a time here, let me know if you have more. First, you need to set up a grid or something similar to put your photos in. You will need N number of rows in this grid. You’ll have to do this in code behind as you have a certain number of rows you’d like to create, but this can easily be achieved by something like this:
That should set up your grid that you need. After you have the grid, you need to populate it with the images that you have. This is pretty straightforward, the only issue will be that your image can’t be used multiple times – i.e. the image that you already have can only appear on the grid once. You will have to duplicate it in order to place it on the grid multiple times. I’m not sure how you are creating your images, but you could possibly create a new image based on the source path of the existing image? There is a thread on how to do this here. You’ll need to give more details if you need help with that.
All of the code above should be in this method:
In the button event handler where you wish to print, do this:
Hope this helps!