示例#1
0
        private RectangleF GetFolhaRect()
        {
            BlocoDadosNFe bloco = BlocosSuperiores.FirstOrDefault(x => x is BlocoDadosNFe) as BlocoDadosNFe;

            if (bloco == null)
            {
                throw new Exception("O bloco BlocoDadosNFe não foi encontrado.");
            }

            RectangleF r = bloco.RetanguloFolha;

            r.X += bloco.Posicao.X;
            r.Y += bloco.Posicao.Y;

            return(r);
        }
示例#2
0
        private void PrintMarcaDAgua(String text)
        {
            PointF p = PointF.Empty;

            var blocoProdutos = BlocosSuperiores.FirstOrDefault(x => x is BlocoProdutos);

            if (blocoProdutos == null)
            {
                p = new PointF(_Danfe.Size.Width / 2f, _Danfe.Size.Height / 2f);
            }
            else
            {
                p.X = blocoProdutos.Posicao.X + blocoProdutos.Size.Width / 2F;
                p.Y = blocoProdutos.Posicao.Y + blocoProdutos.Size.Height / 2F;
            }

            _Composer.BeginLocalState();
            _Composer.SetFont(_Danfe.FontBold, 50);
            org.pdfclown.documents.contents.ExtGState state = new org.pdfclown.documents.contents.ExtGState(_Danfe.Document);
            state.FillAlpha = 0.3F;
            _Composer.ApplyState(state);
            _Composer.ShowText(text, p, XAlignmentEnum.Center, YAlignmentEnum.Middle, 0);
            _Composer.End();
        }