Download the PHP package andrevabo/danfse-nacional without Composer
On this page you can find all versions of the php package andrevabo/danfse-nacional. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrevabo/danfse-nacional
More information about andrevabo/danfse-nacional
Files in andrevabo/danfse-nacional
Package danfse-nacional
Short Description Gerador de PDF do DANFSe Nacional a partir do XML da NFS-e Padrão Nacional
License MIT
Homepage https://github.com/andrevabo/danfse-nacional
Informations about the package danfse-nacional
DANFSe Nacional
Biblioteca PHP para geração de PDF do DANFSe (Documento Auxiliar da Nota Fiscal de Serviços eletrônica) a partir do XML da NFS-e Padrão Nacional.
A biblioteca recebe o XML de uma NFS-e autorizada e devolve o conteúdo binário de um PDF em A4 retrato, sem nenhuma dependência de framework. Pode ser usada em projetos Laravel, Symfony, ou em scripts PHP puro.
O layout segue as exigências da NT 008 (DANFSe v2.0): todos os campos são exibidos na mesma ordem definida pela norma e formatados conforme suas regras. Em vez de reproduzir coordenadas fixas, o documento adota um layout fluido — o que o torna adaptável a diferentes volumes de conteúdo sem perda de legibilidade.
Nas NFS-e do ambiente de Homologação, o PDF exibe a mensagem "NFS-e SEM VALIDADE JURÍDICA", conforme previsto na norma. Para notas canceladas ou substituídas, é possível exibir uma marca d’água correspondente — veja a seção Marca d’água abaixo.
Exemplos
- DANFSe - Produção
- DANFSe - Homologação
- DANFSe - Cancelado
Requisitos
PHP >= 8.2 com as extensões simplexml, mbstring e fileinfo habilitadas.
Instalação
Uso básico
O caminho mais direto é passar o XML e receber o PDF em uma única chamada.
Identificação do município
O cabeçalho do DANFSe exibe automaticamente o município e a UF do ente emissor, extraídos do próprio XML (infNFSe/xLocEmi e infNFSe/emit/enderNac/UF). A identificação não é exibida quando o código de tributação nacional do serviço for 99 (conforme a NT-008).
Marca d'água
Para notas canceladas ou substituídas, configure as flags correspondentes em DanfseConfig. O PDF exibirá uma marca d'água "CANCELADA" ou "SUBSTITUÍDA" em diagonal sobre o documento.
Bloco de Canhoto
Opcionalmente, é possível exibir um bloco fixo no rodapé da página com os campos "Data da Cientificação", "Identificação e Assinatura" e o número/chave da NFS-e, destinado à assinatura em vias impressas. Desativado por padrão.
Geração em dois passos
É possível acessar o método parseXml() para obter um objeto DanfseNacional\Dto\NFSe com os dados da NFS-e antes de gerar o PDF.
Geração do HTML intermediário
Para inspecionar o HTML gerado antes da renderização, útil em testes e depuração, use generateHtml().
Entrega da resposta em aplicações web
Em vez de salvar o arquivo em disco, o conteúdo binário do PDF pode ser enviado diretamente como resposta HTTP.
Estrutura dos dados mapeados
O método parseXml() retorna um objeto DanfseNacional\Dto\NFSe com propriedades tipadas e readonly. A hierarquia segue a estrutura do XML da NFS-e Nacional:
Todos os campos opcionais no esquema da NFS-e são representados como propriedades nullable ou com valor padrão de string vazia, portanto o acesso nunca lança exceções por campo ausente.
Dependências
A biblioteca depende exclusivamente de pacotes sem acoplamento a frameworks:
dompdf/dompdf para renderização do HTML em PDF, cuyz/valinor para o mapeamento seguro do array XML para os DTOs tipados, e bacon/bacon-qr-code para a geração do QR Code de consulta pública.
Testes
All versions of danfse-nacional with dependencies
ext-ctype Version *
ext-simplexml Version *
ext-mbstring Version *
ext-fileinfo Version *
dompdf/dompdf Version ^3.0
cuyz/valinor Version ^1.14
bacon/bacon-qr-code Version ^3.0