Olá, estou tentando abrir uma imagem e dentro dela escrever dados de uma List, por exemplo o nome das pessoas da lista, e no final gerar em um arquivo pdf com as imagens geradas após a edição, desde já agradeço a colaboração!!
Olá, estou tentando abrir uma imagem e dentro dela escrever dados de uma List, por exemplo o nome das pessoas da lista, e no final gerar em um arquivo pdf com as imagens geradas após a edição, desde já agradeço a colaboração!!
Não sei qual versão do framework .NET você está usando, e em qual ambiente, então vou dar uma resposta uma pouco mais genérica.
Se for só escrever na imagem, você pode por exemplo trabalhar a imagem usando o system.drawing, criar a imagem, depois criar um "graphic" e então escrever na imagem com esse objeto que você instanciou, se for apenas para escrever na imagem.
System.Drawing.Image image1 = Image.FromFile("diretorio\fileName1.png");
System.Drawing.Graphics newGraphics = Graphics.FromImage(image1);
String drawString = "Sample Text";
// fonte e cor
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// onde escrever na imagem
float x = 15.0F;
float y = 5.0F;
// formato
StringFormat drawFormat = new StringFormat();
drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;
// esxrever na imagem
newGraphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);
// salvar como PNG
image1 .Save(@"diretório\fileName2.png", ImageFormat.Png);
// lembre de descartar. o garbage collector não limpa o graphics
newGraphics.Dispose();
Se a necessidade for realmente trabalhar com pdf, você pode usar o XGraphics, que é algo que eu tenho um pouco menos de experiência para indicar, mas que pode resolver no seu caso.
PdfDocument pdfDoc = new PdfDocument() ;
PdfPage page = new PdfPage();
pdfDoc.Pages.Add(page);
XGraphics gfx= XGraphics.FromPdfPage(page)
// manipular o pdf com gfx agora
XImage image = XImage.FromFile(@"..\..\images\Test.png");
gfx.DrawImage(image, 100, 100, 400, 400);
XFont fontRegular = new XFont("Times New Roman", 20);
gfx.DrawString("Meu texto", fontRegular, XBrushes.DarkSlateGray, 0, 30);
pdfDoc.Save("diretório destino")
Aí no seu caso, seria apenas colocar isso dentro de um for e fazer para todos os arquivos de imagem.
https://docs.microsoft.com/pt-br/dotnet/api/system.drawing.image.fromfile?view=netframework-4.7.2
Ola, consegui ontem e esqueci de postar a solução, obrigado pela ajuda, foide forma similar.