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

Duvida Printer PDF

Discussão em 'Progress 4GL' iniciado por erickles, Outubro 24, 2014.

  1. erickles

    erickles Membro Participativo

    Bom dia pessoal,

    Procurei bastante pelo fórum, mas não encontrei nada que me ajudasse em especifico. Preciso de algum recurso em que, eu consiga converter um Word para PDF via código progress. Sei que a PDFInclude não me ajudaria e nem posso também criar uma aplicação Word dentro do progress (o servidor em que a aplicação esta não tem o Word instalado) e realizar um "salvar como" para pdf. A aplicação é em webspeed.

    Alguma luz?
  2. Maurício Saatkamp

    Maurício Saatkamp Sem Pontuação

    Erick, tenho uma procedure que faz isso.
    Caso te interesse segue o código funciona com as versões do office 2007 ou superior.
    procedure pi-pdf-final:
    def input param c-doc as char no-undo.
    def var c-dest-pdf as char no-undo.
    def var ch-app-word as com-handle no-undo.
    def var h-wprog as handle no-undo.
    def var c-name as char no-undo.
    def var c-full-name as char no-undo.
    def var c-type as char no-undo.

    create 'Word.Application':U ch-app-word.
    ch-app-word:WindowState = 2.
    ch-app-word:visible = no.

    ch-app-word:Documents:ADD(c-doc).

    assign c-dest-pdf = SUBSTRING(c-doc, 1, (LENGTH(c-doc, "CHARACTER") - 4), "CHARACTER") + ".pdf".

    os-delete value(c-dest-pdf) NO-ERROR.

    ch-app-word:ActiveDocument:ExportAsFixedFormat (c-dest-pdf,
    17,
    no,
    0,
    0,
    1,
    1,
    0,
    yes,
    yes,
    0,
    no,
    no,
    no).
    ch-app-word:ActiveDocument:CLOSE.
    ch-app-word:QUIT().
    RELEASE OBJECT ch-app-word.

    os-delete value(c-doc) NO-ERROR.

    run pi-programa-pdf.

    if tt-param-aux.destino = 3 /* Terminal */
    then do:
    run utp/ut-utils.p persistent set h-wprog.
    run execute in h-wprog (input c-programa-aux, c-dest-pdf).
    delete procedure h-wprog.
    end.

    if tt-param-aux.destino = 1
    then do:
    run PrintDocument ( input c-dest-pdf ).
    end.

    end.
    pizzaia curtiu isso.
  3. erickles

    erickles Membro Participativo

    Legal, mas neste caso, eu precisaria do Word instalado no servidor, o que não é o caso. A aplicação é WEB.
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Por que vc nao pode usar o PDFInclude? A sua rotina é complexa? O que ela faz?
  5. erickles

    erickles Membro Participativo

    Mas com o PDFInclude eu consigo fazer esta conversão? Eu simplesmente preciso pegar uma DANFE (que o EMS gera) e converte-la em PDF.
  6. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    O problema no seu caso é nao poder gerar o arquivo em WORD ou EXCEL, o mesmo então teria que ser gerado em RTF (para abrir no Word), XML (para abrir no Excel) (estes 2 nao precisam de ter word e excel na máquina) ou gerar direto no PDF com o PDFInclude.

Compartilhe esta Página