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.
dotnet add package Dacte.CTe.Coreusing 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();
}- Parser XML para
cteProcv4.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
IBSCBSda Reforma Tributária 2026 quando presente no XML.
- 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.
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.
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- DACTE OS modelo 67.
- Modo paisagem com canhoto rotacionado.
- Fluxos específicos de contingência FS-DA, EPEC e SVC.
dotnet restore
dotnet build Dacte.CTe.Core.sln -c Release
dotnet pack Dacte.CTe.Core/Dacte.CTe.Core.csproj -c ReleaseDistribuído sob a licença MIT. Consulte LICENSE.