Ir para conteúdo
  • Cadastre-se

dev botao

QRCODE no Damdfe


marcelojsilva
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1695 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom Dia!

Estou imprimindo o Qrcode no Damdfe da MDFe usando a dica aqui no forum

Porém no manual Para o QR Code do DAMDFE será utilizado Nível M. Quando usa a linha 'destacada', não consigo mais ler o Qrcode;

Como vcs estão tratando essa questão?

procedure TFrEmisMDFE.QrCodeToCanvas(AWidth, AHeight: Integer; ATexto:String; ACanvas: TCanvas);
var
  bitmap: TBitmap;
  qr: TDelphiZXingQRCode;
  r: Integer;
  😄 Integer;
  scala: Double;
begin
  bitmap := TBitmap.create;
  try
    qr := TDelphiZXingQRCode.create;
    try
      qr.CorrectionLevel:= qrclM;
      qr.QuietZone:= 1;
      qr.Data := WideString(ATexto);
      // ajuta o tamanho do bitmap para o tamanho do qrcode
//      bitmap.SetSize(qr.Rows, qr.Columns);
      bitmap.Width:= qr.Columns;
      bitmap.Height:= qr.Rows;
      // copia o qrcode para o bitmap
      for r := 0 to qr.Rows - 1 do
        for c := 0 to qr.Columns - 1 do
          if qr.IsBlack[r, c] then
            bitmap.Canvas.Pixels[c, r] := clBlack
          else
            bitmap.Canvas.Pixels[c, r] := clWhite;

      // prepara para redimensionar o qrcode para o tamanho do canvas
      if (AWidth < bitmap.Height) then
      begin
        scala := AWidth / bitmap.Width;
      end
      else
      begin
        scala := AHeight / bitmap.Height;
      end;

      // transfere o bitmap para a imagem
      ACanvas.StretchDraw(Rect(0, 0, Trunc(scala * bitmap.Width),
        Trunc(scala * bitmap.Height)), bitmap);

    finally
      qr.Free;
    end;
  finally
    bitmap.Free;
  end;
end;

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Marcelo,

Da forma que foi implementando sem essa modificação funciona ou ocorre algum erro?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde Marcelo,

Ao mudar para o nível M ao gerar o QR-Code, conforme eu entendi a leitura do QR-Code não funciona.

Por outro lado se deixar do jeito que foi implementado, a leitura do QR-Code funciona sem nenhum problema.

Logo podemos concluir que não devemos alterar para o nível M.

A não ser que as pessoas incumbidas de realizar a fiscalização vão utilizar algum aplicativo capaz de ler o QR-Code gerado com nível M.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1695 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...