public Danfe(DanfeViewModel viewModel) { ViewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); _Blocos = new List <BlocoBase>(); File = new File(); PdfDocument = File.Document; // De acordo com o item 7.7, a fonte deve ser Times New Roman ou Courier New. _FonteFamilia = StandardType1Font.FamilyEnum.Times; _FonteRegular = new StandardType1Font(PdfDocument, _FonteFamilia, false, false); _FonteNegrito = new StandardType1Font(PdfDocument, _FonteFamilia, true, false); _FonteItalico = new StandardType1Font(PdfDocument, _FonteFamilia, false, true); EstiloPadrao = CriarEstilo(); Paginas = new List <DanfePagina>(); Canhoto = CriarBloco <BlocoCanhoto>(); IdentificacaoEmitente = AdicionarBloco <BlocoIdentificacaoEmitente>(); AdicionarBloco <BlocoDestinatarioRemetente>(); if (ViewModel.LocalRetirada != null && ViewModel.ExibirBlocoLocalRetirada) { AdicionarBloco <BlocoLocalRetirada>(); } if (ViewModel.LocalEntrega != null && ViewModel.ExibirBlocoLocalEntrega) { AdicionarBloco <BlocoLocalEntrega>(); } if (ViewModel.Duplicatas.Count > 0) { AdicionarBloco <BlocoDuplicataFatura>(); } AdicionarBloco <BlocoCalculoImposto>(ViewModel.Orientacao == Orientacao.Paisagem ? EstiloPadrao : CriarEstilo(4.75F)); AdicionarBloco <BlocoTransportador>(); AdicionarBloco <BlocoDadosAdicionais>(CriarEstilo(tFonteCampoConteudo: 8)); if (ViewModel.CalculoIssqn.Mostrar) { AdicionarBloco <BlocoCalculoIssqn>(); } AdicionarMetadata(); _FoiGerado = false; }
public Danfe(DanfeViewModel viewModel, string creditos = null, string metadataCriador = null) { _creditos = creditos ?? "Impresso com DanfeSharp"; _metadataCriador = metadataCriador ?? String.Format("{0} {1} - {2}", "DanfeSharp", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version, "https://github.com/SilverCard/DanfeSharp"); ViewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); _Blocos = new List <BlocoBase>(); File = new File(); PdfDocument = File.Document; // De acordo com o item 7.7, a fonte deve ser Times New Roman ou Courier New. _FonteFamilia = StandardType1Font.FamilyEnum.Times; _FonteRegular = new StandardType1Font(PdfDocument, _FonteFamilia, false, false); _FonteNegrito = new StandardType1Font(PdfDocument, _FonteFamilia, true, false); _FonteItalico = new StandardType1Font(PdfDocument, _FonteFamilia, false, true); EstiloPadrao = CriarEstilo(); Paginas = new List <DanfePagina>(); Canhoto = CriarBloco <BlocoCanhoto>(); IdentificacaoEmitente = AdicionarBloco <BlocoIdentificacaoEmitente>(); AdicionarBloco <BlocoDestinatarioRemetente>(); if (ViewModel.Duplicatas.Count > 0) { AdicionarBloco <BlocoDuplicataFatura>(); } AdicionarBloco <BlocoCalculoImposto>(ViewModel.Orientacao == Orientacao.Paisagem ? EstiloPadrao : CriarEstilo(4.75F)); AdicionarBloco <BlocoTransportador>(); AdicionarBloco <BlocoDadosAdicionais>(CriarEstilo(tFonteCampoConteudo: 8)); if (ViewModel.CalculoIssqn.Mostrar) { AdicionarBloco <BlocoCalculoIssqn>(); } AdicionarMetadata(); _FoiGerado = false; }
public DanfeNFC(DanfeViewModel viewModel, string creditos = null, string metadataCriador = null) { ViewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); File = new File(); PdfDocument = File.Document; if (viewModel.Produtos.Count <= 20) { _size = new SizeF(280, viewModel.Produtos.Count * 30 + 600); } else if (viewModel.Produtos.Count <= 40) { _size = new SizeF(280, viewModel.Produtos.Count * 14 + 600); } else if (viewModel.Produtos.Count <= 75) { _size = new SizeF(280, viewModel.Produtos.Count * 12 + 600); } else if (viewModel.Produtos.Count <= 150) { _size = new SizeF(280, viewModel.Produtos.Count * 11 + 600); } else if (viewModel.Produtos.Count <= 250) { _size = new SizeF(280, viewModel.Produtos.Count * 10.5F + 600); } else if (viewModel.Produtos.Count <= 400) { _size = new SizeF(280, viewModel.Produtos.Count * 10.2F + 600); } else if (viewModel.Produtos.Count <= 480) { _size = new SizeF(280, viewModel.Produtos.Count * 10.1F + 600); } else if (viewModel.Produtos.Count <= 700) { _size = new SizeF(280, viewModel.Produtos.Count * 9.8F + 600); } // 1. Add the page to the document! _page = new Page(PdfDocument, _size); // Instantiates the page inside the document context. PdfDocument.Pages.Add(_page); // Puts the page in the pages collection. // 2. Create a content composer for the page! _primitiveComposer = new PrimitiveComposer(_page); _creditos = creditos ?? "Impresso com DanfeSharp"; _metadataCriador = metadataCriador ?? String.Format("{0} {1} - {2}", "DanfeSharp", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version, "https://github.com/SilverCard/DanfeSharp"); // De acordo com o item 7.7, a fonte deve ser Times New Roman ou Courier New. _FonteFamilia = StandardType1Font.FamilyEnum.Helvetica; _FonteRegular = new StandardType1Font(PdfDocument, _FonteFamilia, false, false); _FonteNegrito = new StandardType1Font(PdfDocument, _FonteFamilia, true, false); _FonteItalico = new StandardType1Font(PdfDocument, _FonteFamilia, false, true); EstiloPadrao = CriarEstilo(); AdicionarMetadata(); _FoiGerado = false; }