OpenAC.Net.NFe.DANFe.EscPos
1.0.0-beta.1
Prefix Reserved
dotnet add package OpenAC.Net.NFe.DANFe.EscPos --version 1.0.0-beta.1
NuGet\Install-Package OpenAC.Net.NFe.DANFe.EscPos -Version 1.0.0-beta.1
<PackageReference Include="OpenAC.Net.NFe.DANFe.EscPos" Version="1.0.0-beta.1" />
<PackageVersion Include="OpenAC.Net.NFe.DANFe.EscPos" Version="1.0.0-beta.1" />
<PackageReference Include="OpenAC.Net.NFe.DANFe.EscPos" />
paket add OpenAC.Net.NFe.DANFe.EscPos --version 1.0.0-beta.1
#r "nuget: OpenAC.Net.NFe.DANFe.EscPos, 1.0.0-beta.1"
#:package OpenAC.Net.NFe.DANFe.EscPos@1.0.0-beta.1
#addin nuget:?package=OpenAC.Net.NFe.DANFe.EscPos&version=1.0.0-beta.1&prerelease
#tool nuget:?package=OpenAC.Net.NFe.DANFe.EscPos&version=1.0.0-beta.1&prerelease
OpenAC.Net.NFe.DANFe.EscPos
Compõe o DANFE NFC-e com os modelos tipados da NF-e e usa OpenAC.Net.EscPos 1.7.0 para texto, logotipo, QR Code, codificação, avanço, corte e envio ao dispositivo configurado (TCP, serial, RAW ou arquivo).
using System.Text;
using OpenAC.Net.Devices;
using OpenAC.Net.EscPos;
using OpenAC.Net.EscPos.Commom;
using OpenAC.Net.NFe.Common.Model;
using OpenAC.Net.NFe.DANFe.EscPos;
using OpenAC.Net.NFe.DANFe.EscPos.Configuracao;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); // .NET moderno
using var impressora = new EscPosPrinter<TCPConfig>(new TCPConfig
{
IP = "192.168.0.100",
Porta = 9100
});
impressora.Protocolo = ProtocoloEscPos.EscPos;
impressora.PaginaCodigo = PaginaCodigo.pc850;
impressora.Colunas = 48; // 32 para papel estreito
impressora.Conectar();
var danfe = new OpenDANFeEscPos(new DANFeEscPosConfig
{
MensagemRodape = "Obrigado pela preferência!",
CortarPapel = true,
LinhasAvanco = 5
});
var documento = NFeProc.Load("nfce-processada.xml");
await danfe.ImprimirAsync(documento, impressora, cancellationToken);
// Ou: danfe.Imprimir(documento, impressora);
A aplicação configura, conecta e descarta a impressora. O renderizador preserva sua conexão, protocolo, página de código e colunas. As operações deste renderizador que compartilham a mesma instância de impressora são serializadas, inclusive entre instâncias diferentes de OpenDANFeEscPos.
ImprimirAsync aguarda a fila de forma assíncrona e permite cancelar essa espera. O envio ao dispositivo utiliza a API síncrona do componente; um envio iniciado não é interrompido nem repetido automaticamente.
As sobrecargas recebem NFe ou NFeProc do modelo 65. O layout inclui emitente, itens, totais, pagamentos, consumidor, chave, protocolo, QR Code e informações adicionais. A configuração é copiada por operação e permite ocultar itens/nome fantasia, definir logotipo, cópias, módulo do QR Code, rodapé e corte. Colunas usa o valor do componente quando não informada; exportações usam 48 como padrão. RenderizarCupom é virtual para personalizações.
Para exportação e prévia sem impressora conectada:
danfe.Configuracoes.Colunas = 32;
byte[] comandos = danfe.Gerar(documento, ProtocoloEscPos.EscPos, PaginaCodigo.pc850);
byte[] imagemPng = danfe.GerarPreview(documento);
string texto = danfe.GerarTexto(documento);
Gerar usa o próprio componente com um dispositivo em memória. GerarPreview usa a prévia PNG do componente. PrepararCupom(documento, impressora) adiciona o cupom ao buffer de uma impressora, inclusive desconectada, para composição ou chamada posterior a impressora.GerarPreview().
O exemplo de console usa EscPosPrinter<FileConfig> para gravar o cupom em arquivo e também oferece o comando escpos-preview. Veja o README da raiz para os comandos executáveis. Os testes comparam exportação e dispositivo de arquivo; a validação em hardware depende da impressora utilizada.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
-
.NETFramework 4.8
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
-
.NETStandard 2.0
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
-
net10.0
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
-
net8.0
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
-
net9.0
- OpenAC.Net.EscPos (>= 1.7.0)
- OpenAC.Net.NFe (>= 1.0.0-beta.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-beta.1 | 56 | 10/31/2026 |