Socket
Book a DemoInstallSign in
Socket

github.com/marcelo-cunha/nfce-render

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/marcelo-cunha/nfce-render

v1.0.3
Source
Go
Version published
Created
Source

NFCE Render

Go Version License

Biblioteca Go para geração de DANFE (Documento Auxiliar da Nota Fiscal Eletrônica) para NFC-e (Nota Fiscal de Consumidor Eletrônica).

Características

  • Suporte para NFC-e (modelo 65)
  • Geração em formato HTML e PDF
  • API simples e intuitiva
  • Módulo Go reutilizável

Instalação

go get github.com/marcelo-cunha/nfce-render

Uso Básico

package main

import (
    "fmt"
    "os"
    nfce "github.com/marcelo-cunha/nfce-render"
)

func main() {
    // Ler XML da NFC-e
    xmlContent, err := os.ReadFile("nfce.xml")
    if err != nil {
        panic(err)
    }

    // Gerar DANFE em HTML
    options := &nfce.Options{Format: "html"}
    danfeBytes, err := nfce.GenerateDANFE(xmlContent, options)
    if err != nil {
        panic(err)
    }

    // Salvar arquivo
    err = os.WriteFile("danfe.html", danfeBytes, 0644)
    if err != nil {
        panic(err)
    }

    fmt.Println("DANFE gerado com sucesso!")
}

API

Funções Principais

// Gerar DANFE a partir de conteúdo XML
danfeBytes, err := nfce.GenerateDANFE(xmlContent, options)

// Gerar DANFE a partir de arquivo XML
danfeBytes, err := nfce.GenerateDANFEFromFile("nfce.xml", options)

// Salvar DANFE diretamente em arquivo
err := nfce.SaveDANFE(xmlContent, "danfe.html", options)

// Salvar de arquivo XML para arquivo de saída
err := nfce.SaveDANFEFromFile("nfce.xml", "danfe.html", options)

// Escrever para io.Writer
err := nfce.WriteDANFE(xmlContent, writer, options)

Opções

type Options struct {
    Format string // "html" ou "pdf"
}

API Avançada

// Criar gerador
generator, err := nfce.NewGenerator(xmlContent)

// Verificar se é NFC-e
if generator.IsNFCe() {
    // Gerar para writer específico
    options := nfce.GenerateOptions{Format: nfce.FormatHTML}
    err = generator.GenerateToWriter(writer, options)
}

Formatos Suportados

  • HTML: Formato padrão, ideal para visualização web
  • PDF: Requer serviço Gotenberg para conversão

Configuração PDF

Para geração de PDF, configure a variável de ambiente:

export GOTENBERG_URL="http://localhost:3000"

Ou use o arquivo .env:

GOTENBERG_URL=http://localhost:3000

Dependências

  • Go 1.21+
  • github.com/skip2/go-qrcode (geração de QR Code)
  • github.com/joho/godotenv (variáveis de ambiente)
  • Gotenberg (apenas para PDF)

Limitações

  • Suporta apenas NFC-e (modelo 65)
  • PDF requer serviço Gotenberg externo

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

Versão

Versão estável: v1.0.0

FAQs

Package last updated on 22 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.