private void Imprimir(ref PdfDocument document, int indexPagina, string texto, int TamanhoFonte, bool negrito, int x, int y, AlinhamentoColuna alinhamento) { var font = new XFont(FONTE_PADRAO, TamanhoFonte, negrito ? XFontStyle.Bold : XFontStyle.Regular); var brush = XBrushes.Black; var pagina = document.Pages[indexPagina]; var retangulo = new XRect(x, y, pagina.Width, font.Height); using (var gfx = XGraphics.FromPdfPage(pagina)) { var cabecalho = texto; gfx.DrawString(cabecalho, font, brush, retangulo, alinhamento == AlinhamentoColuna.Centralizado ? XStringFormats.TopCenter : alinhamento == AlinhamentoColuna.Esquerda ? XStringFormats.TopLeft : XStringFormats.Default); } }
private void ImprimirRetangulo(ref PdfDocument document, int indexPagina, int x, int y, Coluna coluna, string texto, AlinhamentoColuna alinhamento, bool destaque = false, int altura = 15) { texto = texto.ToUpper(); var font = new XFont(FONTE_PADRAO, 7, destaque ? XFontStyle.Bold : XFontStyle.Regular); var brush = XBrushes.Black; var pagina = document.Pages[indexPagina]; using (XGraphics gfx = XGraphics.FromPdfPage(pagina)) { var largura = coluna.TamanhoColuna; var retangulo = new XRect(x, y, largura, altura); if (alinhamento != AlinhamentoColuna.Centralizado) { retangulo.X += 3; retangulo.Y += 3; } var pen = new XPen(XColors.Black, 0.5); gfx.DrawRectangle(pen, destaque ? XBrushes.LightSteelBlue : XBrushes.White, x, y, largura, altura); switch (alinhamento) { case AlinhamentoColuna.Centralizado: gfx.DrawString(texto, font, brush, retangulo, XStringFormats.Center); break; case AlinhamentoColuna.Esquerda: gfx.DrawString(texto, font, brush, retangulo, XStringFormats.TopLeft); break; default: gfx.DrawString(texto, font, brush, x + largura - texto.Length * 5, y + (altura / 2) + 2); break; } } }