Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overlay image onto PDF using PDFSharp

Tags:

Can't seem to find much out there for this. I've a PDF, onto which I'd like to overlay an image of an electronic signature. Any suggestions on how to accomplish that using PDFSharp?

Thanks

like image 725
user948060 Avatar asked Sep 17 '13 16:09

user948060


1 Answers

Try the following

private void GeneratePDF(string filename, string imageLoc) {     PdfDocument document = new PdfDocument();      // Create an empty page or load existing     PdfPage page = document.AddPage();      // Get an XGraphics object for drawing     XGraphics gfx = XGraphics.FromPdfPage(page);     DrawImage(gfx, imageLoc, 50, 50, 250, 250);      // Save and start View     document.Save(filename);     Process.Start(filename); }  void DrawImage(XGraphics gfx, string jpegSamplePath, int x, int y, int width, int height) {     XImage image = XImage.FromFile(jpegSamplePath);     gfx.DrawImage(image, x, y, width, height); } 

This will generate a new PDF with the specified image near the top of the page. If you need to use an existing document change the PdfDocument constructor to

PdfDocument document = new PdfDocument(filename); 

where filename is the name of the file to load and change the PdfPage line to

PdfPage page = document.Pages[pageNum]; 

where pageNum is the number of the page on which you need to add the image.

After that, it just a matter of getting the positioning on the page by altering the parameters for DrawImage to suit.

DrawImage(gfx, imageLoc, 50, 50, 250, 250); 

Good luck!

like image 194
Kami Avatar answered Sep 20 '22 06:09

Kami