• +351 91 33 888 29
    • clico@clico.pt

    Arquivo mensal 8 de Fevereiro, 2022

    PowerApp Adicionar e Ler PDF

    Incorporar documentos PDF no Powerapps

    Para inserir um PDf na Aplicação Powerapp é necessario criar um fluxo.

    O fluxo de automatização da Microsoft que permite tudo isto é tão simples como se segue:

    Fluxo PowerAutomate:

    PowerApp PDF
    1. É necessário criar um Fluxo instantâneo a partir do Powerapps. Comecei com um fluxo em branco e depois adicionei a ação “PowerApps – Trigger”
    Trigger Powerapp
    1.É necessário criar um Flow que possa correr de forma instantanea a partir do PowerApps. Comecei com um Fluxo em branco e adicionei a ação “PowerApps – Trigger” para começar.

    2. Sharepoint  – Get file content using path, aqui coloquei o caminho do ficheiro onde se encontra o PDF, depois de carregar onde diz “Ask in PowerApps”, temos o getfilecontent…

    3. Resposta ao PowerApps, na verdade, só precisamos retornar as informações de arquivo corretas que o controle do Power Apps PDF Viewer entende.

    Para que o valor do parâmetro do arquivo PDF retorne ao PowerApps, selecionamos Expression e onde aparece fx, colamos a seguinte expressão:

    body(‘Get_file_content_using_path’)[‘$content’]

     

    Powerapps Respond

    Terminamos aqui o nosso fluxo.

    No PowerApps:

    Criar uma nova aplicação em PowerApps, depois disso já dentro do PowerApps, no Menu Action, vai a PowerAutomate e insere o Fluxo criado, basta carregar em cima e é inserido no PowerApps.

    Na aplicação, cria um formulário com o Botão que pretende abrir o PDF e outro formulário onde vai inserir o componente PDF Viewer (Experimental).

    No primeiro formulário, onde tem o Botão que vai abrir o formulário seguinte, na propriedade On Select, o código é:

    Navigate( ViewPDF, ScreenTransition.None, { { selecteditem_v: “name of your pdf without extension” } )

    No formulário criado, onde tem o componente PDF Viewer (Experimental), na propriedade do formulário On Visible, vou criar uma variável que oculta o controlo do PDF Viewer enquanto o fluxo é executado para retornar o conteúdo do PDF. Quando o fluxo é concluído, defino a propriedade “loading_v” de volta para false, para que o PDF fique visível.

    O código aqui é:

    UpdateContext({ loading_v: true }); UpdateContext({ pdf_v: ‘name of your flow’.Run( Concatenate( First( Split( selecteditem_v.Name, “.” ) ).Result, “.pdf” ) ) }); UpdateContext({ loading_v: false })

    No código acima, passo o nome do arquivo para o fluxo e crio e uso uma variável “pdf_v” que conterá o conteúdo do documento PDF retornado pelo fluxo.

    O objetivo da função “Split” usada no código acima é remover a extensão do nome do arquivo original do nome do documento original e depois substituí-la por um nome de extensão do arquivo “.pdf”.

    Por fim, no controlo PDF Viewer, defino a propriedade “Document” como pdf_v.pdf e a propriedade Visible como !loading_v.

    Advertisements
    Show Buttons
    Hide Buttons