Skip to content

fix(danfse): enforce physical NT008 A4 margins (#118) - #139

Merged
vitormattos merged 3 commits into
mainfrom
fix/danfse-nt008-physical-margins-118
Oct 13, 2026
Merged

vitormattos merged 3 commits into
mainfrom
fix/danfse-nt008-physical-margins-118

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Problema reproduzido

No artefato sintético danfse-visual-evidence do PR #138 (SHA f344818c), a borda externa de 1 pt chega às quatro extremidades físicas do PDF: a margem real é 0 mm, apesar de @page { margin: 5pt; } no HTML. Isso contraria a faixa de 0,15–0,20 cm do item 2.2.2 da NT008 v1.02. A verificação foi feita diretamente sobre a geometria do PDF e sua rasterização, não apenas pela declaração CSS.

Correção

  • Aplica 5 pt de afastamento físico à borda, ao conteúdo e ao canhoto, considerando o comportamento de posicionamento fixo do Dompdf.
  • Acrescenta regressão de margens físicas sobre cada PDF sintético efetivamente renderizado, usando pdftoppm em 144 dpi com verificação das quatro extremidades; os mesmos cenários continuam passando por pdfinfo, pdffonts e pdftotext.
  • Mantém inalterados o XML autorizado, a tipografia Liberation Sans, o contrato de uma página A4 e a API pública. Não executa emissão fiscal.

Evidência e aceite

  • Baseline: dez PDFs sintéticos do artifact 11773207613, run 38306909004, comprovam margem real zero no estado anterior.
  • Exigir todos os checks obrigatórios na SHA final deste PR, inclusive DANFSe Visual Evidence, PHPunit, Psalm, CS e REUSE.
  • Inspecionar o novo artifact com pdfinfo, pdffonts, pdftotext e raster/vetores; confirmar 1 página A4, 1,5–2 mm de margem, fonte embutida, todas as informações obrigatórias e cenários longos.
  • Revisão independente/CODEOWNER sem bypass. Este PR não autoriza fechar o épico automaticamente nem declara conformidade tipográfica literal.

Refs: #118, NT008 v1.02 item 2.2.2, PRs #136 e #138.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos force-pushed the fix/danfse-nt008-physical-margins-118 branch from 09801e6 to ccc2360 Compare October 13, 2026 11:56
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos merged commit 2b52325 into main Oct 13, 2026
16 checks passed
@vitormattos
vitormattos deleted the fix/danfse-nt008-physical-margins-118 branch October 13, 2026 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant