Ir para conteúdo
  • Cadastre-se

dev botao

Corte de impressão - Fortes Report


Controla
  • Este tópico foi criado há 2204 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde amigos, venho expor um problema que tem afetado a impressão do extrato SAT no fortes.

Já vi algumas reclamações no fórum, mas nada que tenha uma solução definitiva.

Para simular o problema é só colocar um RLReport em um form e depois colocar um RLMemo vou colocar aqui o código do form exemplo, basta copiar e colar em um form

object RLReport1: TRLReport
  Left = 767
  Top = 175
  Width = 280
  Height = 378
  Margins.LeftMargin = 2.000000000000000000
  Margins.TopMargin = 2.000000000000000000
  Margins.RightMargin = 2.000000000000000000
  Margins.BottomMargin = 9.000000000000000000
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clBlack
  Font.Height = -13
  Font.Name = 'Arial'
  Font.Style = []
  PageSetup.PaperSize = fpCustom
  PageSetup.PaperWidth = 74.000000000000000000
  PageSetup.PaperHeight = 100.000000000000000000
  PrintDialog = False
  ShowProgress = False
  object RLMemo1: TRLMemo
    Left = 26
    Top = 51
    Width = 227
    Height = 34
    Behavior = [beSiteExpander]
    Borders.Sides = sdCustom
    Borders.DrawLeft = True
    Borders.DrawTop = True
    Borders.DrawRight = True
    Borders.DrawBottom = True
    Font.Charset = ANSI_CHARSET
    Font.Color = clBlack
    Font.Height = -12
    Font.Name = 'Arial'
    Font.Style = [fsBold]
    Lines.Strings = (      
        'R DOUTOR JOSE NEUBERT DE OLIVEIRA 9999 - B RECREIO SAO JUDAS TAD' +
        'EU')
    ParentFont = False
  end
end

Nas imagens vocês podem ver o problema da impressão, já tentei achar uma solução olhando os fontes do fortes, mas o máximo que consegui foi chegar na conclusão que o problema está na hora de fazer o cálculo de limite disponível para a linha para fazer o wordwrap, eu acho que esta relacionado com a função CanvasTextWidth do arquivo RLReport.pas.

Não sei se tem algo relacionado a diferença de pixels por polegada video x impressora. Pessoal, confesso que já fiquei tonto de tanto olhar este código, mas não consegui evoluir.

Peço a ajuda de vocês para que juntos possamos resolver este bug do fortes, pois ele afeta tudo que utilizar o RLMemo e fizer o wordwrap.

Só lembrando que nem sempre o problema é observado, isso depende do texto que deve ser impresso, por isso já coloquei um caso em que o problema ocorre.

Muito obrigado pessoal, espero que tenha conseguido expor com clareza a situação.

Abraço a todos

Fabricio

na_ide.jpg

na_impressora.jpg

Link para o comentário
Compartilhar em outros sites

  • Fundadores
2 horas atrás, Controla disse:

Boa tarde amigos, venho expor um problema que tem afetado a impressão do extrato SAT no fortes.

Você usa o Extrato do SAT do ACBr, em Fortes Report ? Se SIM, onde exatamente esse problema ocorre com ele ?

Parece ser um Bug no método: RLReport.TRLBorders.PaintTo do Fortes Report.

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Bom dia Daniel, sim eu uso o extrato SAT do ACBr com o Fortes, mas como eu percebi que o problema não é do ACBr e sim do Fortes, decidi que é melhor atacar o problema na raiz.

E posso te afirmar com quase certeza que o o problema não é na borda, mas sim o texto que extrapola o limite que deveria obedecer.

No mini projeto para demonstrar o problema eu adicionei um RLDraw1 com a mesma largura do RLMemo e como você poderá observar a borda do RLMemo obedece exatamente o mesmo tamanho do RLDraw, ou seja, a largura do RLMemo está correta.

Segue a imagem do projeto na IDE e o resultado da impressão.

O problema é relacionado ao código que calcula que o texto deve continuar na linha de baixo já que não irá "caber" dentro da área do componente.

erro_report.zip

na_ide.jpg

na_impressora.jpg

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2204 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.