Tamanho da fonte FwMsPrinter

Boa tarde pessoal!

Temos uma rotina de impressão de rótulos em formato A3 que usa a classe FwMsPrinter.

Criamos uma tabela que contém uma matriz de impressão, com campos, tamanho de fonte, posição e etc.

Quando um dado for maior que o espaço reservado para impressão do mesmo, nossa ideia é que o sistema vá diminuindo a fonte até que a informação caiba, sem perda de dados.

Pelo GetTextWidth consigo saber o tamanho que um texto vai ocupar de acordo com a fonte passada.

Porém, como calcular corretamente a largura do espaço para saber se o texto cabe (na linha, não podemos quebrar em mais de uma linha a informação) ou precisa ter sua fonte reduzida? Temos a largura dos componentes em centímetros.

Por exemplo: tenho um espaço de 15 centímetros para imprimir a informação "ESTADOS UNIDOS / UNITED STATES" iniciando a fonte em arial de 32:

Capturar.PNG

Alguém tem alguma dica para trabalhar com esses valores?

Muito obrigada!

compartilhar
  • Boa tarde Mary, o problema seria que não foi possível imprimir o valor completo "ESTADOS UNIDOS / UNITED STATES"? Consegue colocar um POC dessa situação?

    Daniel Mendes   20 de Mar de 2020
  • Bom dia Daniel!

    Na realidade, o problema é como o Tiago comentou abaixo: estou tentando analisar o quanto determinada fonte vai ocupar para impressão e o quanto tenho de espaço disponível para saber se imprimo com a fonte pré-determinada ou vou diminuindo a fonte até caber.. rs

    Mary Christina Hergert   23 de Mar de 2020
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags fwmsprinter ou faça a sua própria pergunta.