Pular para o conteúdo principal

Preencher e assinar um PDF quando um novo item é criado no SharePoint — Power Automate

23 min read
SEO and Content Writer

Fill a PDF Form é a ação do Power Automate que aceita um modelo PDF preenchível e uma carga útil JSON, e devolve esse mesmo PDF com todos os campos já preenchidos. Combine-a com PDF - Sign e um acionador SharePoint When an item is created, e a geração de faturas passa a correr sozinha: alguém adiciona uma linha, o Power Automate monta o PDF assinado, e o Dropbox arquiva-o com um nome com carimbo de data e hora.

O estrangulamento nos fluxos de trabalho do tipo fatura nunca foi o PDF em si, mas sim o passo manual encravado no meio. Alguém abre o modelo, redigita oito valores de uma linha de folha de cálculo, imprime-o, assina-o, digitaliza-o de novo e carrega o resultado. Cada um desses campos é mais uma oportunidade de escrever mal o nome de um cliente ou de perder um dígito do total. Este guia troca toda essa rotina por sete ações do Power Automate: o SharePoint levanta o acionador, o Dropbox entrega o modelo e a imagem da assinatura, o PDF4me preenche o formulário e aplica a assinatura, e o Dropbox guarda o ficheiro terminado. Cada captura de ecrã é real, a expressão Compose está detalhada, o esquema do SharePoint está listado, e a fatura assinada de exemplo é sua para descarregar.

O fluxo num relance
1. When an item is created
Vigia a lista New Customer Invoices no SharePoint e inicia o fluxo no momento em que surge uma nova linha.
2. Get file content
Extrai sample_fill_form.pdf de /blog data/fill a pdf/ no Dropbox. Deixe Infer Content Type em Yes para que o binário sobreviva.
3. Get file content 1
Agarra signature.png da mesma pasta do Dropbox, novamente com Infer Content Type em Yes.
4. Compose
Monta uma única carga útil JSON a partir da linha do SharePoint: customerName, email, phone, invoiceNumber, invoiceDate, address, amount.
5. Fill a PDF Form
Passo do PDF4me. Envie o binário PDF para Template File Data, o resultado do Compose para JSON Data, e defina Keep PDF template Editable como No.
6. PDF - Sign
Passo do PDF4me. Coloca signature.png no canto inferior direito da página 1, 50 de largura por 20 de altura, margem 15, opacidade total 100.
7. Create file
Escreve no Dropbox /blog data/fill a pdf/output com um File Name construído por concat(Signed_, invoiceNumber, _, ticks(utcNow()), .pdf).
Versão curta

Um acionador de lista do SharePoint dispara a cada nova linha de fatura. O Dropbox fornece o modelo PDF preenchível e uma assinatura PNG. O Compose transforma a linha numa carga útil JSON. O PDF4me Fill a PDF Form escreve esses dados no modelo, o PDF4me PDF - Sign adiciona a assinatura, e o Dropbox armazena o resultado com um nome de ficheiro que carrega tanto um carimbo de data e hora como o número da fatura.

Porque é que cada passo está aqui, de propósito​

Porquê o SharePoint como acionador?
Quase todas as equipas de vendas, operações e finanças já registam linhas de clientes ou faturas numa lista do SharePoint. Apoiar-se em When an item is created deixa toda a gente continuar exatamente como hoje, basta adicionar uma linha.
Porquê o Compose no meio?
O PDF4me quer uma única carga útil JSON. O Compose permite colar um esqueleto JSON e largar nele os campos do acionador como conteúdo dinâmico, para que nunca tenha de enfiar o tratamento de JSON por cada ação a jusante.
Porquê Fill a PDF Form e não Convert?
O modelo já traz campos de formulário nomeados. Fill a PDF Form escreve nesses campos pelo nome e deixa o seu layout e design intactos, enquanto Convert achataria o ficheiro e o reconstruiria do zero.
Porquê PDF - Sign no mesmo fluxo?
A alternativa, um passo separado de DocuSign ou Adobe Sign, ainda exige que uma pessoa clique. Para faturas internas de baixo risco, uma assinatura carimbada faz o trabalho e mantém todo o fluxo livre de mãos humanas.

Com o que vai ficar no final​

Um único fluxo Power Automate que fica de olho numa lista do SharePoint e, por cada linha que chega, produz uma fatura PDF preenchida e assinada com o nome Signed_INV-YYYY-NNN_<ticks>.pdf na sua pasta de saída do Dropbox. A assinatura fica no canto inferior direito da página 1, e tudo o resto no modelo permanece exatamente como o seu designer o dispôs.


O que vai precisar primeiro​

  • Um site do SharePoint que aloje uma lista chamada New Customer Invoices (renomeie-a como lhe convier) com estas colunas:
    • Title, CustomerName, Email, Phone (todas Single line of text)
    • InvoiceNumber (Single line of text, p. ex. INV-2026-207)
    • InvoiceDate (Date), Address (Single line of text), Amount (Number)
  • Um modelo PDF cujos campos de formulário nomeados correspondam às chaves JSON (customerName, email, phone, invoiceNumber, invoiceDate, address, amount).
  • Uma assinatura PNG sobre fundo transparente.
  • Uma ligação PDF4me dentro do Power Automate. Primeiro fluxo? Obtenha uma chave API para a configurar.
  • Uma ligação Dropbox no Power Automate — SharePoint, OneDrive ou qualquer outro armazenamento encaixa com a mesma limpeza.
PDF assinado de exemplo na saída
Obtenha a fatura realmente assinada que este fluxo gerou para a linha INV-2026-207 (Mark Jagar).
↓ signed-invoice-sample.pdf

As sete ações, de ponta a ponta​

Sete ações do Power Automate em linha reta — sem ramos paralelos, sem Apply to each, sem variáveis. O que um passo produz alimenta diretamente o seguinte.

Vista geral do fluxo Power Automate mostrando sete ações sequenciais: SharePoint When an item is created, Dropbox Get file content, Dropbox Get file content 1, Compose, PDF4me Fill a PDF Form, PDF4me PDF - Sign e Dropbox Create file, cada uma com uma marca de verificação verde e a duração da execução
A vista completa do designer: do acionador ao Create file, sete ações ao todo.

A lista do SharePoint é o contrato aqui. Cada linha que chega torna-se exatamente um PDF assinado.

Lista do SharePoint chamada New Customer Invoices com oito linhas. A linha de Mark Jagar está selecionada mostrando CustomerName Mark Jagar, Email markjagar at email.com, Phone plus1 567 736 8923, InvoiceNumber INV-2026-207, InvoiceDate 28.08.2026, Address Park street, Amount 20458
A lista New Customer Invoices. A linha INV-2026-207 (Mark Jagar) é a que está por trás do exemplo acima.

Como iniciar o fluxo quando surge uma nova linha do SharePoint?​

Fluxo até agora: apenas o acionador.

  1. Crie um novo Automated cloud flow, pesquise SharePoint e escolha When an item is created.
  2. Aponte Site Address para o seu site do SharePoint (a captura usa PDF4me Support em https://ynoox1.sharepoint.com/sites/PDF4meSupport).
  3. Defina List Name como New Customer Invoices.
  4. Deixe Advanced parameters como estão. O acionador dispara no instante em que uma linha aterra, sem intervalo de sondagem para acertar.
Acionador Power Automate When an item is created com Site Address apontado ao site SharePoint PDF4me Support e List Name definido como New Customer Invoices
Site mais lista é toda a configuração do acionador — o SharePoint trata da deteção de alterações.

Dica. Sempre que puder, renomeie as colunas do SharePoint para corresponderem aos nomes dos campos do PDF (customerName, email, ...). Poupa-lhe reetiquetar as chaves no passo Compose mais adiante.


Como alimentar o modelo PDF e a assinatura no fluxo?​

Fluxo até agora: acionador → Get file content → Get file content 1.

Duas leituras do Dropbox: uma para o modelo PDF, outra para a assinatura PNG. Manter ambos na mesma pasta significa que ninguém tem de andar à procura deles depois.

  1. Adicione Dropbox - Get file content using path e defina File como /blog data/fill a pdf/sample_fill_form.pdf.
  2. Abra Advanced parameters e mude Infer Content Type para Yes, caso contrário o binário do PDF pode ficar danificado em trânsito.
Ação Dropbox Get file content using path com File definido como /blog data/fill a pdf/sample_fill_form.pdf e Infer Content Type definido como Yes
Passo 2 — o modelo vazio que Fill a PDF Form está prestes a preencher.
  1. Largue um segundo Dropbox - Get file content using path; o Power Automate renomeia-o automaticamente para Get file content 1.
  2. Defina File como /blog data/fill a pdf/signature.png.
  3. Mude o mesmo interruptor Infer Content Type para Yes.
Segunda ação Dropbox Get file content 1 com File definido como /blog data/fill a pdf/signature.png e Infer Content Type definido como Yes
Passo 3 — a assinatura que PDF - Sign vai colocar sobre a página 1.

Como transformar a linha do SharePoint numa carga útil JSON?​

Fluxo até agora: acionador → obter modelo → obter assinatura → Compose.

O Compose é o passo de "construir o JSON". Traz os campos do acionador como conteúdo dinâmico e dispõe-nos num único objeto JSON que o PDF4me Fill a PDF Form consegue ler.

  1. Adicione uma ação Compose.
  2. Clique em Inputs, cole o esqueleto JSON abaixo e troque cada valor da direita pela coluna do SharePoint correspondente do seletor de conteúdo dinâmico, mantendo cada pílula entre as aspas:
{
"customerName": "CustomerName",
"email": "Email",
"phone": "Phone",
"invoiceNumber": "InvoiceNumber",
"invoiceDate": "InvoiceDate",
"address": "Address",
"amount": "Amount"
}
Ação Compose com o campo Inputs mostrando um objeto JSON cujos sete valores são pílulas de conteúdo dinâmico dos campos do acionador do SharePoint colocadas entre as aspas de cada chave
O Compose devolve um único objeto JSON. Mantenha cada pílula dentro das suas aspas para que números e datas cheguem como cadeias, e certifique-se de que as chaves correspondem aos nomes dos campos do PDF à letra.

Referência da carga útil:

Chave JSONOrigem (coluna do SharePoint)TipoNotas
customerNameCustomerNameTextoPassado tal como está.
emailEmailTextoQualquer cadeia; nada valida o formato aqui.
phonePhoneTextoDeixe como texto — não converta para Number, pois extensões e hífenes importam.
invoiceNumberInvoiceNumberTextoReutilizado mais tarde também no nome do ficheiro de saída.
invoiceDateInvoiceDateDataCom a pílula entre aspas, o Compose envia-a como texto em vez de um objeto Date ISO.
addressAddressTextoUma única linha.
amountAmountNúmeroEntre aspas, por isso o JSON transporta-o como um valor entre aspas.

Dica. Coloque sempre a pílula de conteúdo dinâmico entre as duas aspas de cada valor. Colocada fora delas, uma pílula emite um número ou uma data sem aspas, e um número sem aspas seguido de uma , a meio da cadeia quebra a carga útil sem qualquer aviso.


Como preencher o formulário PDF a partir do JSON?​

Fluxo até agora: acionador → obter modelo → obter assinatura → Compose → Fill a PDF Form.

Aqui está a primeira ação do PDF4me. Ela pega no PDF modelo mais a carga útil JSON e escreve cada valor no campo de formulário que partilha o seu nome.

  1. Adicione o conector PDF4me PDF e escolha a ação Fill a PDF Form.
  2. Template File Data: conteúdo dinâmico, Get file content → File Content (o binário do PDF modelo).
  3. Template File Name: sample_fill_form.pdf (ou como se chame o seu).
  4. JSON Data: conteúdo dinâmico, os Outputs do passo Compose.
  5. Keep PDF template Editable: No — isto achata o formulário depois de preenchido, para que o destinatário não possa limpar os campos.
Ação PDF4me Fill a PDF Form com Template File Data mapeado a partir do Dropbox Body, Template File Name sample_fill_form.pdf, JSON Data mapeado a partir dos Compose Outputs, e Keep PDF Template Editable definido como No
A configuração de Fill a PDF Form. Com Keep PDF template Editable em No, os campos achatam-se em texto estático.

Dica. Quer que o destinatário ainda possa editar certos campos mais tarde (adicionar uma nota, por exemplo)? Defina Keep PDF template Editable como Yes. Os seus valores preenchidos permanecem; só o bloqueio do campo muda.


Como carimbar a assinatura com PDF - Sign?​

Fluxo até agora: acionador → obter modelo → obter assinatura → Compose → Fill a PDF Form → PDF - Sign.

O PDF - Sign coloca a sua assinatura PNG sobre o PDF preenchido num ponto fixo e com a opacidade que definir.

  1. Adicione o conector PDF4me PDF, ação PDF - Sign.
  2. PDF File content: conteúdo dinâmico, Fill a PDF Form → Body (o binário do PDF preenchido).
  3. PDF File Name: a expressão concat(triggerBody()?['InvoiceNumber'], '.pdf'), que dá INV-2026-207.pdf para que o número da fatura apareça nos registos posteriores.
  4. Sign File Content: conteúdo dinâmico, Get file content 1 → Body (a assinatura PNG).
  5. Sign Image File Name: signature.png.
  6. Align Horizontal: right. Align Vertical: bottom.
  7. Pages: 1 (apenas a página 1 — use 1,3 para as páginas 1 e 3, ou deixe vazio para assinar todas as páginas).
  8. Height: 20. Width: 50. Margin Horizontal: 15. Margin Vertical: 15. Opacity: 100.
Ação PDF4me PDF - Sign com PDF File content a partir de Fill a PDF Form Body, PDF File Name uma expressão concat, Sign File Content a partir de Get file content 1 Body, Align Horizontal right, Align Vertical bottom, Pages 1, Height 20, Width 50, Margin 15, Opacity 100
A assinatura assenta no canto inferior direito da página 1: 50 de largura, 20 de altura, 15 unidades de margem, totalmente opaca.

Referência de posicionamento:

CampoO que controlaExemplo
Align HorizontalQue margem, da esquerda para a direitaleft, center, right
Align VerticalBanda superior, do meio ou inferiortop, center, bottom
PagesQue páginas são carimbadas1 (só a primeira), 1,3 (primeira e terceira), vazio (todas as páginas)
Height / WidthTamanho da caixa de assinatura em unidades PDFFaça corresponder o rácio à sua signature.png ou ela vai esticar
Margin Horizontal / VerticalDistância da margem alinhada15 = 15 unidades para dentro da margem direita quando Align é right
Opacity0 a 100100 é totalmente opaca; baixe para 70 para um aspeto de marca de água

Como escrever o PDF assinado de volta para o Dropbox?​

Fluxo até agora: acionador → obter modelo → obter assinatura → Compose → Fill a PDF Form → PDF - Sign → Create file.

O passo final. O PDF terminado cai numa pasta de saída dedicada, com um nome de ficheiro concebido para que duas execuções nunca possam colidir.

  1. Adicione Dropbox - Create file.
  2. Folder Path: /blog data/fill a pdf/output.
  3. File Name: a expressão concat('Signed_', string(triggerBody()?['InvoiceNumber']), '_', string(ticks(utcNow())), '.pdf'), que produz nomes como Signed_INV-2026-207_639235162128009339.pdf.
  4. File Content: conteúdo dinâmico, PDF - Sign → Body (o binário do PDF assinado).
Ação Dropbox Create file com Folder Path /blog data/fill a pdf/output, File Name construído a partir de uma expressão concat que combina Signed_, o campo de acionador InvoiceNumber, os ticks de utcNow e .pdf, e File Content mapeado a partir de PDF - Sign Body
O carimbo ticks(utcNow()) mantém os nomes de ficheiro únicos mesmo que duas linhas disparem dentro do mesmo segundo.

Dica. Troque o Dropbox por SharePoint - Create file ou OneDrive - Create file e mais nada no fluxo se mexe. O binário do PDF é idêntico; só o adaptador de armazenamento difere.

Execute-o e verifique o resultado​

Então, o que é que acabou de construir?
Largue uma linha em New Customer Invoices (Title Mark - Form, CustomerName Mark Jagar, e por aí adiante). Uns segundos depois, Signed_INV-2026-207_639235162128009339.pdf surge no Dropbox /blog data/fill a pdf/output. Abra-o e verá os oito campos preenchidos e a assinatura no canto inferior direito da página 1 — o mesmíssimo ficheiro ligado no topo desta publicação.

Variações que pode acrescentar sem reconstruir​

Enviar também o PDF assinado por email
Encaixe um Outlook Send an email (V2) depois de Create file e anexe PDF - Sign Body tal como está. O cliente recebe a fatura no mesmo segundo que o Dropbox.
Saltar o Dropbox, usar o SharePoint
Troque as três ações do Dropbox por SharePoint Get file content e SharePoint Create file. Nenhuma das duas ações do PDF4me muda seja o que for.
Assinar todas as páginas, não só a 1
Esvazie o campo Pages em PDF - Sign, ou liste-as separadas por vírgulas (1,2,3). A mesma assinatura aplica-se a cada página que nomear.
PDF4me vs Nutrient / Encodian / Plumsail
Esses conectores dividem Fill e Sign por fluxos separados ou cobram por lugar de utilizador. O PDF4me faz ambos a partir de um único conector premium com uma só chave API.

Perguntas frequentes​

Como preencher formulários PDF com o Power Automate?​

Coloque a ação PDF4me Fill a PDF Form depois de um passo que leia o seu modelo PDF (um Get file content do Dropbox, SharePoint ou OneDrive) e um passo Compose que construa uma carga útil JSON a partir dos campos do seu acionador. Mapeie Template File Data para o binário PDF e JSON Data para a saída do Compose. As chaves JSON têm de corresponder exatamente aos nomes dos campos de formulário do modelo.

O Power Automate consegue preencher um formulário PDF?​

Sim — com uma única ação de conector, assim que um conector PDF estiver instalado. O Power Automate não consegue escrever sozinho num PDF preenchível, mas a ação PDF4me Fill a PDF Form trata de todo o preenchimento e achatamento num único passo, guiada por uma carga útil JSON que monta com o Compose ou diretamente a partir de uma linha do SharePoint ou do Excel.

Como preencher automaticamente os campos de um formulário PDF?​

Acione na sua fonte de dados (uma lista do SharePoint, uma linha do Excel, uma submissão de formulário), construa um objeto JSON cujas chaves correspondam aos nomes dos campos do PDF, e depois entregue esse JSON e o PDF modelo ao PDF4me Fill a PDF Form. Devolve o mesmo PDF com cada campo nomeado preenchido. Defina Keep PDF template Editable como No para bloquear os valores de modo a que os destinatários não os possam limpar.

Como criar um PDF com o Power Automate a partir de um item de lista do SharePoint?​

Use When an item is created como acionador, adicione um passo Get file content para carregar o modelo PDF, um passo Compose para dar forma de JSON à linha, e PDF4me Fill a PDF Form para os fundir. Obtém um PDF preenchido que pode enviar por email, empurrar para o SharePoint, OneDrive ou Dropbox, ou encaminhar para um fluxo de aprovação. Esta publicação constrói exatamente isso, com um carimbo de assinatura por cima.

Como assinar um PDF automaticamente no Power Automate?​

Adicione PDF4me PDF - Sign depois de qualquer passo que produza um binário PDF. Mapeie PDF File content para o PDF preenchido, Sign File Content para uma assinatura PNG, e depois defina o alinhamento (right / bottom), o tamanho (Height / Width), as margens e a opacidade. O PDF - Sign carimba a imagem nas páginas que listar; deixe Pages em branco para as assinar a todas.


Resolução de problemas​

Fill a PDF Form devolve o modelo inalterado
As chaves JSON não correspondem aos nomes dos campos do PDF. Abra o modelo no Adobe Acrobat, escolha Prepare Form e copie os nomes dos campos exatamente — são sensíveis a maiúsculas e minúsculas.
A assinatura sai esticada ou minúscula
Height e Width são unidades PDF, não pixels. Faça corresponder o rácio à sua signature.png para que não distorça; 50 de largura por 20 de altura serve a maioria das assinaturas horizontais.
O Compose emite JSON inválido
Uma pílula de conteúdo dinâmico aterrou fora das suas aspas, ou um valor do SharePoint contém uma aspa dupla perdida ou uma quebra de linha. Mantenha cada pílula entre as suas aspas e limpe o texto introduzido pelo utilizador a montante no SharePoint.
O Dropbox Create file sobrescreve execuções anteriores
O File Name resolveu-se para a mesma cadeia duas vezes. O sufixo ticks(utcNow()) no concat é o que garante a unicidade — retire-o e as execuções colidirão.

Próximos passos​

Este é o caminho mais curto e sem mãos de uma linha do SharePoint a um PDF assinado e armazenado — e as duas ações do PDF4me no meio são as únicas partes que não consegue obter da Microsoft por si só.

Referências​