How to print a picture from the report by clicking

2020-04-29

Many users of report generators fairly standard functionality in their everyday work. But sometimes they have to deal with non-trivial tasks, and then search for a solution may take a lot of time and effort. But perhaps the best solution is to ask the developers to get the most qualified assistance. This is done by one of the users of the generator Telerik Reporting reports. The problem was to print a picture of the object image in the report:

https://www.telerik.com/forums/print-a-picture-from-a-picturebox

The report may contain images not only uploaded during the design, but those that are stored binaryly in the database. Imagine a situation where you only need to print the right images from a report with many pages of data. At first glance, this is a big problem. You can export the report to HTML, copy the image you want to the graphics editor, and only then send it to print. And you can make an interactive report that will allow you to print pictures by clicking. Such solution is offered by Telerik specialists, in response to a user's question.

It's a great solution. Let's look at how to solve this problem in the FastReport.Net report. In fact, there is nothing simpler. All you need to do is create an event handler clicking on the picture object:

 

And add couple methods to the report script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//picture object
 public Image img;
 //printing method
 public void Print()
 {
 System.Drawing.Printing.PrintDocument picture = new System.Drawing.Printing.PrintDocument(); 
 picture.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(picture_PrintPage); 
 DialogResult result = new PrintDialog().ShowDialog();
 if (result == System.Windows.Forms.DialogResult.OK)
 {
 picture.Print();
 }
 }
 
 private void picture_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
 { 
 e.Graphics.DrawImage(img, new Point(0, 0)); //picture and posirion on one page
 }
 
 private void Picture1_Click(object sender, EventArgs e)
 {
 img = (sender as PictureObject).Image; //We get the picture from the chosen object
 Print(); //execute printing
 }

  As you can see, just need to get a picture of the selected object and execute printing. In the method of printing, we have created the event handler print a document, which used the resulting image. Now, when viewing a report in the viewer, you can click on the picture and send it to print:

 

But if u do not need to print but only save on a local drive, so you can proceed in the similar way:

1
2
3
4
private void Picture1_Click(object sender, EventArgs e)
 {
 (sender as PictureObject).Image.Save("C:\\Temp\\image.bmp");
 }

 Thus, printing of the picture by ckick from the FastRepor.Netreport is very easy to perform.

November 09, 2023

How to make a report from C# to FastReport Cloud

In this article, we will look at how to create reports in FastReport Cloud using SDK and export them to any convenient format.
October 04, 2023

How to generate a report from an ASP.NET Core application using FastReport.Core.Skia

We tell you how to generate a report on Windows and Linux using FastReport.Core.Skia and a private NuGet server.
September 25, 2023

How to make price tags with product composition in FastReport VCL

Starting from version 2023.3, another powerful tool has been added to the FastReport VCL reporting engine – text reduction in the Text object.
Fast Reports
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.