1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

QRCode

Discussão em 'Progress 4GL' iniciado por Rogerio, Julho 17, 2022.

  1. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Alguem já conseguiu gerar o QRCode - PIX no progress???

    Tenho que gerar esse QRCode direto no PDF, se possivel com o PDFInclude, pois a rotina que utilizo é rodada no Linux, então não pode ser pelo WORD...

    Algum pra me ajudar???
  2. dudabrito

    dudabrito Membro Participativo

    Bom dia Rogério,

    Na procedure abaixo, que peguei e adaptei de algum amigo aqui do fórum, eu crio o QR-Code e jogo num arquivo excel, mas acredito que a partir da geração da imagem gerada você consiga direciona-la para qualquer outro arquivo.

    PROCEDURE pi-code:


    using OpenEdge.Core.Memptr.
    using OpenEdge.Net.HTTP.ClientBuilder.
    using OpenEdge.Net.HTTP.IHttpClient.
    using OpenEdge.Net.HTTP.RequestBuilder.
    using OpenEdge.Net.HTTP.HttpClient.
    using OpenEdge.Net.HTTP.IHttpRequest.
    using OpenEdge.Net.HTTP.IHttpResponse.
    using OpenEdge.Net.HTTP.Credentials.
    USING OpenEdge.Net.HTTP.HttpHeader FROM PROPATH.
    USING OpenEdge.Core.ByteBucket FROM PROPATH.

    DEF VAR oReq AS IHttpRequest NO-UNDO.
    DEF VAR OResp AS IHttpResponse NO-UNDO.
    DEF VAR oImage AS class memptr NO-UNDO.
    DEF VAR oCreds AS Credentials NO-UNDO.
    DEF VAR oHeader AS HttpHeader NO-UNDO.
    DEF VAR oBody AS ByteBucket.

    oBody = new ByteBucket().

    oHeader = new HttpHeader("Accept","image/jpg").

    oCreds = new Credentials('application', 'tomcat', 'tomcat').

    oReq = requestbuilder
    :get("http://api.qrserver.com/v1/create-qr-code/?data=" + numero-pix + "&size=150x150")
    :request.

    oReq:SetHeader(oHeader).
    oResp = HttpClient:Instance():Execute(oReq).

    oBody = cast(oResp:Entity,ByteBucket).

    oImage = oBody:GetBytes().

    copy-lob from oImage:value to file SESSION:TEMP-DIRECTORY + "qrcode2.png".

    DEF VAR chPicture AS COM-HANDLE NO-UNDO.
    DEF VAR chRange AS COM-HANDLE NO-UNDO.
    DEF VAR c-pic AS CHAR NO-UNDO.

    c-pic = SESSION:TEMP-DIRECTORY + "qrcode2.png".

    chRange = chApplication:Sheets(1):Range("H3").
    chPicture = chApplication:Sheets(1):pictures:INSERT(SESSION:TEMP-DIRECTORY + "qrcode2.png").
    ASSIGN chPicture:TOP = chRange:TOP - 10.
    chPicture:LEFT = chRange:LEFT + 20.
    RELEASE OBJECT chPicture.
    RELEASE OBJECT chRange.

    OS-DELETE VALUE(SESSION:TEMP-DIRECTORY + "qrcode2.png").

    END PROCEDURE.
    Isaaac curtiu isso.

Compartilhe esta Página