Je n'arrive pas à trouver grand-chose pour cela. J'ai un PDF sur lequel j'aimerais superposer une image d'une signature électronique. Des suggestions sur la façon d'accomplir cela en utilisant PDFSharp?
Merci
Essayez ce qui suit
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);
}
Cela va générer un nouveau PDF avec l'image spécifiée en haut de la page. Si vous devez utiliser un document existant, changez le constructeur PdfDocument
en
PdfDocument document = new PdfDocument(filename);
où filename
est le nom du fichier à charger et remplacez la ligne PdfPage
par
PdfPage page = document.Pages[pageNum];
où pageNum
est le numéro de la page sur laquelle vous devez ajouter l'image.
Après cela, il suffit d'obtenir le positionnement sur la page en modifiant les paramètres de DrawImage
en fonction.
DrawImage(gfx, imageLoc, 50, 50, 250, 250);
Bonne chance!
Cela vous aidera à:
PdfDocument document = pdf;
// Create a new page
PdfPage page = document.Pages[0];
page.Orientation = PageOrientation.Portrait;
XGraphics gfx = XGraphics.FromPdfPage(page, XPageDirection.Downwards);
// Draw background
gfx.DrawImage(XImage.FromFile("pdf_overlay.png"), 0, 0);
Ajoutez simplement le chemin d'accès à l'image souhaitée et spécifiez la position de l'image.