NfseDanfse (nfse_danfse v0.1.0)

Copy Markdown View Source

Gera o PDF do DANFSe v2.0 a partir do XML da NFS-e Nacional, no leiaute do DANFSe que o Emissor Nacional imprime.

{:ok, pdf} = NfseDanfse.render(xml)
{:ok, pdf} = NfseDanfse.render(xml, situation: :cancelled)

Summary

Functions

Renderiza o PDF do DANFSe da NFS-e xml.

Functions

render(xml, opts \\ [])

@spec render(binary(), keyword()) :: {:ok, binary()} | {:error, NfseDanfse.Error.t()}

Renderiza o PDF do DANFSe da NFS-e xml.

Opções

  • :situation - :cancelled ou :replaced imprimem a marca d'água "CANCELADA" ou "SUBSTITUÍDA". A NFS-e não carrega essa informação, então quem chama diz. Padrão nil.
  • :fonts_dir - pasta com a Arial, a Arial Bold e a Microsoft Sans Serif, as fontes que a NT 008 exige e que não podem ser redistribuídas com a biblioteca. Cada uma é achada pelo nome gravado dentro dos arquivos .ttf, .ttc e .otf da pasta, então servem os arquivos do macOS (Arial.ttf) e os do Windows (arial.ttf). Sem ela, o DANFSe sai na Liberation Sans, que tem as medidas da Arial.

Devolve {:error, %NfseDanfse.Error{}} com kind :invalid_xml quando o XML não é uma NFS-e legível, :invalid_option para opção desconhecida ou inválida e :render quando a composição do PDF falha.