このためにそこに多くを見つけることができないようです。電子署名の画像をオーバーレイしたいPDFを持っています。 PDFSharpを使用してそれを達成する方法に関する提案はありますか?
ありがとう
以下をお試しください
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);
}
これにより、ページの上部近くに指定された画像を含む新しいPDFが生成されます。既存のドキュメントを使用する必要がある場合は、PdfDocument
コンストラクタを
PdfDocument document = new PdfDocument(filename);
ここで、filename
はロードするファイルの名前で、PdfPage
行を次のように変更します
PdfPage page = document.Pages[pageNum];
ここで、pageNum
は、画像を追加する必要があるページの番号です。
その後は、DrawImage
のパラメーターを適切に変更して、ページ上の位置を取得するだけです。
DrawImage(gfx, imageLoc, 50, 50, 250, 250);
幸運を!
これはあなたを助けるでしょう:
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);
必要な画像へのパスを追加し、画像の位置を指定するだけです。