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

POO - Instanciar um Objeto tipo Lista em Progress

Discussão em 'Progress 4GL' iniciado por Nilton86, Dezembro 6, 2018.

  1. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Ele é um programa DOS, uma vez com ele basta digitar no CMD:
    PDFTK /? ou
    PDFTK -? ou
    PDFTK --? ou
    PDFTK -help ou
    PDFTK --help

    não lembro exatamente, ai vc usa conforme sua necessidade
  2. Nilton86

    Nilton86 Sem Pontuação

    Pesquisando a respeito descobri que é possível usar o PDF CREATOR , consegui concatenar os arquivos PDF porém o Pdf Creator abre para cada arquivo PDF e é preciso fechar manualmente e não consegui nenhum comando que faça isso. Algué já passou por isso ??

    Abaixo Codigo Usado:


    /*matar qualquer processo referente ao PDFCreator*/
    DOS Silent VALUE("taskkill /F /IM PDFCreator.exe /T").

    /*Variáveis de instancia*/
    DEFINE VARIABLE pdf AS COM-HANDLE NO-UNDO.
    DEFINE VARIABLE pdfop AS COM-HANDLE NO-UNDO.
    CREATE "PDFCreator.clsPDFCreator" pdf NO-ERROR.
    CREATE "PDFCreator.PDFCreatorOptions" pdfop NO-ERROR.

    /*configuração do PDFCreator*/
    PDF:cStart(,).
    ASSIGN
    pdfop = PDF:cOptions
    PDFop:AutosaveDirectory = "c:\temp\"
    PDFop:AutosaveFilename = "testando.pdf"
    PDFop:UseAutosave = 1
    PDFop:UseAutosaveDirectory = 1
    PDFop:AutosaveFormat = 0
    PDF:cOptions = PDFop
    PDF:cDefaultPrinter = "PDFCreator"
    PDF:cPrinterStop = TRUE.


    PDF:cPrintFile ('c:\temp\arquivo1.pdf').


    PDF:cPrintFile ('c:\temp\arquivo2.pdf').

    PDF:cCombineAll ().

    PDF:cPrinterStop = FALSE.

    /*comando para imprimir*/

    /*é possível imprimir do Excel, Word, etc.
    basta substituir a linha acima pelo comando
    de impressão desejado */

    /*encerrar processo*/
    PDF:cClose.
    RELEASE OBJECT pdf.
    RELEASE OBJECT pdfop.
    DOS Silent VALUE("taskkill /F /IM PDFCreator.exe /T").
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    meu caro, tem comando de mais pra pouco resultado, o pdftk.exe, vc faz um os-command juntando os .pdf em um só.

    vc tem que obter o nome dos .pdf que o seu programa está gerando, depois que estiver com a relação em uma variavel, basta comando em um campo character ...

    define variable comando as character no-undo.
    assign comando = 'pdftk 1.pdf 2.pdf 3.pdf total.pdf'.
    os-command silent value(comando).
    os-command silent value('start total.pdf).

    Seria mais ou menos assim, logico que nos nomes dos arquivos .pdf vc monta string usando variaveis.
  4. Nilton86

    Nilton86 Sem Pontuação

    Bom dia ,

    Baixei o programa PDFTK e stou tentando utuliza-lo . Diretamente pelo DOS funcionou perfeitamente usando os comando necessários para a união dos arquivos pdf

    Já via comandos progress apresentou os seguintes erros: "Error: Unable to find file" "Error: Failed to open PDF file:" "Done. Input errors, so no outout created"

    Alguém sabe o que pode estar ocorrendo ?? Abaixo o codigo que estou usando



    DEFINE VARIABLE c-arquivo AS CHARACTER NO-UNDO.
    DEFINE VARIABLE cCommandline AS CHARACTER NO-UNDO.

    ASSIGN c-arquivo = 'c:/temp/teste.bat'.

    ASSIGN cCommandline = "pdftk 123.pdf 222.pdf cat output teste.pdf".

    OUTPUT TO value(c-arquivo).

    PUT 'c:' SKIP.
    PUT 'cd temp/teste2' SKIP. /* Diretorio dos arquivos PDF */
    PUT cCommandline. /* Comando Uniao de arquivos */

    OUTPUT CLOSE.


    OS-COMMAND VALUE(c-arquivo).
  5. Nilton86

    Nilton86 Sem Pontuação

    Funcionou , verifiquei que faltava um FORMAT na linha de comando . Com isso resolveu o problema !!

    Agradeço aos colegas pela ajuda e pelas dicas !!! Muito obrigado !!
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    nesses casos meu caro, usa put unformatted que dai não dá o problema, usar o format vc sempre vai ter que saber quantos caracteres tem o seu comando, e vc não precisa salvar um .bat e dai executar, vc pode fazer o os-command direto pra cCommandline

Compartilhe esta Página