do meu projeto. Pra quem nao souber como fazer e bom ver o post do blog que fala sobre isso. Pode acessar aqui.Eis o que eu fiz a partir disso.Defini um objeto System.Drawing.Image chamado imagemTemporaria.Ele recebera cada imagem antes de passa-la para a classe Image do iTextSharp.Serao duas imagens.Primeiro eu instancio o objeto imagemTemporaria usando um new System.Drawing.Bitmap e passando a imagem que esta nos Recursos como parametro.Depois crio uma nova instancia da classe Image do iTextSharp usando Image.GetInstance e passando por parametros o objeto imagemTemporaria e um objeto indicando o formato. Como no meu caso e um arquivo PNG, o segundo parametro sera System.Drawing.Imaging.ImageFormat.Png.Feito isso eu ajusto a propriedade Alignment da minha imagem.Existem varias combinacoes possiveis, entao nao vou entrar em detalhes. Cada um pode fazer os testes necessarios.Eu farei uso da combinacao Image.LEFT_ALIGN e Image.TEXTWRAP, usando o operador | de forma semelhante ao que e feito nos estilos para a classe Font, que eu mostrei nos post anterior.Por fim ajusto a escala da imagem se necessario, utilizando o metodo ScalePercent, passando o valor percentual como parametro.Repito isso para minhas duas imagens.TabelasPara criar uma tabela usarei duas classes, alem da classe Phrase, que ja abordei anteriormente.PdfPTable e a classe da tabela em si e usarei varias PdfPCell para definir as celulas da tabela.E util quando cada celula tem conteudos diferentes. Se for construir uma tabela vazia, por exemplo, e desnecessario o uso de varias PdfPCell.Primeiro defino um objeto da classe PdfPTable com duas colunas, passando um inteiro, que se refere ao numero de colunas, como parametro para o construtor.Depois defino a propriedade HorizontalAlignment como Image.ALIGN_LEFT, para que a tabela fique a esquerda da pagina. Normalmente ela ficaria centralizada.Entao uso o metodo SetWidths para ajsutar a largura de cada coluna da tabela. O parametro a ser passado para o metodo e um vetor de floats e o numero de valores deve ser igual ao numero de colunas. No meu caso e um vetor de duas posicoes, ja que defini duas colunas. Essa parte tambem poderia ser feita na hora em que se instancia a classe. Ha uma sobrecarga do construtor com 2 parametros, o primeiro e o numero de colunas e o segundo e um vetor com as larguras das colunas.A partir dai trabalho com as celulas.Defino um objeto PdfPCell generico. Utilizo ele para todas as celulas. Apenas preciso gerar uma nova instancia cada vez que quero uma nova celula.Com o objeto PdfPCell instanciado, uso o metodo AddElement para adicionar objetos Phrase, Image, etc.Depois uso o metodo AddCell da tabela que eu havia criado anteriormente, passando a celula como parametro.Repito isto para cada nova celula.Uma propriedade interessante da classe PdfPCell e a Border, onde e possivel definir o estilo da borda da celula. Definirei 2 celulas sem borda para exemplificar, definindo a propriedade como Image.NO_BORDER.Pausa para um cafeQue? "Pausa para um cafe" e um tempo pra pensar, uma interrupcao na sequencia de explicacoes do post para falar de um assunto que pode nao estar diretamente relacionado, mas que considero relevante.Por que? Bom. Eu tive um problema no minimo interessante aqui, que me