web-dev-qa-db-fra.com

Superposer l'image sur PDF en utilisant PDFSharp

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

18
user948060

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);

filename est le nom du fichier à charger et remplacez la ligne PdfPage par

PdfPage page = document.Pages[pageNum];

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!

27
Kami

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.

5
ffffff01