Кажется, он не находит много для этого. У меня есть PDF, на который я хотел бы наложить изображение электронной подписи. Любые предложения о том, как это сделать с помощью PDFSharp?
Спасибо
Кажется, он не находит много для этого. У меня есть 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);
Просто добавьте путь к изображению, который вы хотите, и укажите положение изображения.