예제 #1
0
        public void Imprimir()
        {
            var p = new PrintDocument();

            if (!string.IsNullOrEmpty(_nomeImpressora))
            {
                p.PrinterSettings.PrinterName = _nomeImpressora;
            }

            p.PrintPage += delegate(object sender1, PrintPageEventArgs e1)
            {
                var tamanhoDeUmaPagina = e1.PageSettings.PrintableArea.Height;

                var graphics = e1.Graphics;
                _tamanhoTotal = 3;

                AdicionarTexto.FontPadrao = new System.Drawing.FontFamily(_fontePadrao);

                var tamanhoPaginaAtual = 3;

                for (; _posicaoImagem < _tamanhoImagem; _posicaoImagem++)
                {
                    var texto = new AdicionarTexto(graphics, _imagem[_posicaoImagem], 9);

                    texto.Desenhar(3, _tamanhoTotal);

                    _tamanhoTotal      += texto.Medida.Altura;
                    tamanhoPaginaAtual += 22;

                    e1.HasMorePages = false;

                    if (tamanhoPaginaAtual > tamanhoDeUmaPagina)
                    {
                        e1.HasMorePages = true;
                        return;
                    }
                }
            };

            p.Print();
        }
예제 #2
0
        public static Medida GetMedidas(AdicionarTexto adicionarTexto)
        {
            var medida = GetMedidas(adicionarTexto.Texto, adicionarTexto.Fonte);

            return(medida);
        }