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

Dica Relatorio com Imagem para PDF

Discussão em 'Progress 4GL' iniciado por ueluis, Setembro 27, 2016.

  1. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    pra danfe por exemplo, usa-se a iQs Code 128, pra boleto bancario, uso a c25w
  2. ueluis

    ueluis Membro Participativo

    então,
    a idéia era implementar o query code nas ordens de produção, a maneira mais fácil que consegui foi utilizando um programa chamado zint: https://sourceforge.net/projects/zint
    que cria a imagem query das informações que vc mandar pra ele, dai eu inseri no arquivo como pdfinclude, como ele só gera imagem em png e o pdfinclude só aceita jpg, utilizei o IrfanViewPortable: http://www.irfanview.com/ e converti a imagem possibilitando a inclusão da mesma no pdf.

    dai consegui o resultado.
    se tivesse ima fonte nativa progress que fizesse tudo isso ficaria bem melhor mais era o que eu tinha no momento.

    abaixo um exemplo:
    Código:
    /*Exempo de geração de pdf com query code*/
    
    DEF VAR cProgramName  AS CHAR  NO-UNDO.
    DEF VAR iReturnResult AS INT    NO-UNDO.
    DEF VAR sPDF  AS CHAR NO-UNDO INIT "sPDF".
    DEF VAR iMaxY AS INT NO-UNDO.
    DEF VAR i-linha AS INT NO-UNDO INIT 785.
    DEF VAR i-coluna AS INT NO-UNDO INIT 10.
    DEF VAR texto AS CHAR NO-UNDO INIT " Este texto esta dentro da Imagem ".
    
    {include/pdfinclude/pdf_inc.i "THIS-PROCEDURE"}.
    
    PROCEDURE WinExec EXTERNAL "KERNEL32.DLL":
        DEFINE INPUT  PARAMETER ProgramName AS CHARACTER.
        DEFINE INPUT  PARAMETER VisualStyle AS LONG.
        DEFINE RETURN PARAMETER StatusCode  AS LONG.
    END.
    
    ASSIGN
        cProgramName = "c:\zint\zint.exe -o c:\temp\tagordem.png -b 58 --vers=42 -d " + "'" + texto /*nr-ordem*/  + "' " .
    
    RUN WinExec (INPUT cProgramName , INPUT 1, OUTPUT iReturnResult).
    
    ASSIGN
        cProgramName = "c:\imgconvert\i_view32.exe c:\temp\tagordem.png /silent /tifc=1 /convert=c:\temp\tagordem.jpg" .
    
    RUN WinExec (INPUT cProgramName , INPUT 1, OUTPUT iReturnResult).
    
    /* criando stream para  arquivo */
    RUN pdf_new        (sPDF,"C:\temp\pdf_com_QUERY_CODE.pdf").
    RUN pdf_load_image IN h_PDFinc ("Spdf","tagordem","c:\temp\tagordem.jpg").
    
    /* Set Document Information */
    RUN pdf_set_info IN h_PDFinc ("Spdf","Author",USERID("mgusa")).
    RUN pdf_set_info IN h_PDFinc ("Spdf","Subject","EXEMPLO PDF EM QUERY CODE ").
    RUN pdf_set_info IN h_PDFinc ("Spdf","Title","ORDEM DE PRODUÇÃO").
    RUN pdf_set_info IN h_PDFinc ("Spdf","Keywords","TOTVS 12.6").
    RUN pdf_set_info IN h_PDFinc ("Spdf","Creator","PDFinclude").
    RUN pdf_set_info IN h_PDFinc ("Spdf","Producer","ESPECIFICO").
    
    RUN pdf_set_parameter(sPDF,"UseTags","TRUE").
    RUN pdf_set_parameter(sPDF,"COMPRESS","TRUE").
    RUN pdf_set_parameter(sPDF,"DefaultFont","Courier").
    RUN pdf_set_parameter(sPDF,"DefaultColor","Black").
    RUN pdf_set_LeftMargin ("Spdf",5).
    
    /* Pagina 1 */
    RUN pdf_new_page(sPDF).
    RUN pdf_place_image  IN h_PDFinc ("Spdf","tagordem", i-coluna + 4 , 55 ,45 , 45).
    RUN pdf_text_xy IN h_PDFinc ("sPDF", texto, i-coluna + 2,  i-linha - 60).
    RUN pdf_close(sPDF).
    

    abç e obrigado a todos.

Compartilhe esta Página