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!!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.