Skip to content

Danfe: Fix dynamically adjusts the character limit in the address, following the margin dimensions.#140

Merged
antoniospneto merged 1 commit intoEngenere:mainfrom
PedroJoMa:fix-dynamic-delimitation-fields
Mar 19, 2026
Merged

Danfe: Fix dynamically adjusts the character limit in the address, following the margin dimensions.#140
antoniospneto merged 1 commit intoEngenere:mainfrom
PedroJoMa:fix-dynamic-delimitation-fields

Conversation

@PedroJoMa
Copy link
Copy Markdown
Contributor

O que foi feito

Motivo: As implementações anteriores (Pull request #138) utilizavam limites estáticos de caracteres, o que ultrapassava o limite do campo de endereço quando as margens da DANFE eram alteradas pelo usuário.

Alterações:
xfpdf.py: Refatorada a função long_field para utilizar get_string_width. Agora o truncamento é baseado na largura real (mm) e não em contagem de caracteres. Adicionado suporte a font_size e font_style para garantir precisão.

danfe.py: Atualizadas as chamadas de long_field nos blocos de Destinatário e Transportadora para passarem a largura calculada do campo (w) e o tamanho da fonte atual.
Melhoria de UX: Implementado truncamento inteligente por palavras inteiras, evitando quebras de palavras ao meio antes das reticências.

Imagens

before_after_comparison

@antoniospneto antoniospneto merged commit 78d930c into Engenere:main Mar 19, 2026
7 checks passed
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.

2 participants