Skip to content

bsmoreno2910/Dacte.CTe.Core

Repository files navigation

Dacte.CTe.Core

NuGet Version NuGet Downloads License Build

Gerador de DACTE em PDF para CT-e modelo 57 a partir do XML processado (cteProc v4.00).

Status: estável (1.0.3) - geração de DACTE para CT-e modelo 57.

Instalação

dotnet add package Dacte.CTe.Core

Exemplo de uso

using Dacte.CTe.Core;
using Dacte.CTe.Core.Modelo;

var modelo = DacteViewModelCreator.CriarDeArquivoXml("cte.xml");
modelo.QuantidadeCanhotos = 1;
modelo.PreferirEmitenteNomeFantasia = true;

using (var dacte = new DacteDoc(modelo))
{
    dacte.AdicionarLogoImagem("logo.png"); // opcional
    dacte.Gerar();
    dacte.Salvar("dacte.pdf");
}

Logo via stream:

using (var logo = File.OpenRead("logo.png"))
using (var dacte = new DacteDoc(modelo))
{
    dacte.AdicionarLogoImagem(logo);
    dacte.Gerar();
    dacte.Salvar("dacte.pdf");
}

Para preservar a proporção original do logo:

dacte.AdicionarLogoImagem("logo.png", ModoAjusteLogo.ConterProporcional);

O modo padrão é ModoAjusteLogo.Preencher, mantendo o comportamento visual das versões anteriores.

Geração em memória:

using (var ms = new MemoryStream())
using (var dacte = new DacteDoc(modelo))
{
    dacte.Gerar();
    dacte.Salvar(ms);
    byte[] pdf = ms.ToArray();
}

Cobertura

  • Parser XML para cteProc v4.00.
  • DACTE em A4 retrato para CT-e modelo 57.
  • Identificação do emitente, chave de acesso, protocolo e QR Code.
  • Remetente, destinatário, expedidor, recebedor e tomador.
  • Carga, componentes do valor, imposto, documentos originários e observações.
  • Canhoto inferior e código de barras Code-128C.
  • Grupo IBSCBS da Reforma Tributária 2026 quando presente no XML.

Modais suportados

  • Rodoviário: RNTRC, CIOT, lotação e data prevista quando informados.
  • Aéreo: minuta, conhecimento operacional, tarifa e aeroportos quando informados.
  • Aquaviário: navio, AFRMM, balsas e contêineres.
  • Ferroviário: tráfego, fluxo, frete e ferrovias envolvidas.
  • Dutoviário: data inicial, data final e valor da tarifa.
  • Multimodal: COTM, negociável e seguro.

IBS/CBS - Reforma Tributária 2026

Quando o XML traz o grupo IBSCBS, o quadro de imposto usa o layout estendido com IBS, CBS e ICMS. Quando o grupo não existe, o DACTE usa o layout clássico de ICMS.

Sample

dotnet run --project Dacte.CTe.Core.Sample/Dacte.CTe.Core.Sample.csproj -- <pasta-xmls> [pasta-saida] [caminho-logo.png]

Também é possível informar o logo por variável de ambiente:

set DACTE_CTE_CORE_SAMPLE_LOGO=C:\logos\minha-empresa.png
dotnet run --project Dacte.CTe.Core.Sample/Dacte.CTe.Core.Sample.csproj -- C:\xmls C:\pdfs

Roadmap

  • DACTE OS modelo 67.
  • Modo paisagem com canhoto rotacionado.
  • Fluxos específicos de contingência FS-DA, EPEC e SVC.

Build

dotnet restore
dotnet build Dacte.CTe.Core.sln -c Release
dotnet pack Dacte.CTe.Core/Dacte.CTe.Core.csproj -c Release

Licença

Distribuído sob a licença MIT. Consulte LICENSE.

About

Gerador de DACTE em PDF para CT-e modelo 57

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages