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); }
public void Renderizar(int pagina, int nPaginas) { PosicionarBlocos(); foreach (var bloco in BlocosSuperiores.Union(BlocosInferiores)) { _Composer.ShowXObject(bloco.ToXObject(), bloco.Posicao); } PrintNumeroFolhas(pagina, nPaginas); if (_Danfe.Model.TipoAmbiente != 1) { PrintMarcaDAgua("SEM VALOR FISCAL"); } PrintCreditos(); _Composer.Flush(); }
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(); }
public void AdicionarBlocoSuperior(BlocoDanfe bloco) { BlocosSuperiores.Add(bloco); }
public float GetAlturaCorpo(RectangleF innerRectangle) { return(innerRectangle.Height - BlocosSuperiores.Sum(x => x.Size.Height) - BlocosInferiores.Sum(x => x.Size.Height)); }