Pular para o conteúdo principal

Mesclar automaticamente todos os PDFs adicionados a uma pasta do Dropbox no Power Automate: um fluxo de trabalho dinâmico de 6 etapas

· 25 min para ler
SEO and Content Writer

A parte dolorosa dos tickets de "mesclagem desses PDFs" não é a mesclagem em si, mas sim... saber o que está na pasta em tempo de execuçãoOs nomes mudam, os arquivos aparecem e desaparecem, alguém adiciona um quinto documento às 16h55. Este passo a passo constrói o padrão exato em Power Automate com PDF4me: Mesclar vários arquivos PDF, Dropboxe uma única ação "Aplicar" em cada loop. Seis ações de fluxo. Nenhum nome de arquivo fixo. Todos os PDFs presentes na pasta monitorada são unidos assim que um novo arquivo é adicionado, e o nome de saída inclui a contagem de arquivos, tornando cada execução identificável de forma única.

O fluxo em resumo
1. When a file is created
Dropbox trigger on /blog data/merge files dropbox. Fires the moment any file lands.
2. List files in folder
Dropbox action on the same folder. Returns every current file as an array of metadata objects.
3. Initialize variable
Name Files, Type Array. Buffer for the binary content of every file.
4. Apply to each
Loop body(List_files_in_folder). Inside, Get file content by Id, then Append to array with base64ToBinary on $content.
5. Merge multiple PDFs
PDF4me action. Body/docContent the Files array, Output File Name Output.pdf. One consolidated PDF out.
6. Create file
Dropbox /blog data/merge blog template/output. File Name expression concat(merge-, length(List_files_in_folder), .pdf).
A versão curta

A Quando um arquivo é criado O Dropbox dispara um alerta a cada novo upload. Listar arquivos na pasta Retorna um instantâneo de todos os arquivos atualmente na pasta (neste caso, quatro PDFs: PDF_Exemplo.pdf, sample_3_page.pdf, sample_pdf.pdf, exemplo.pdfUm loop "Aplicar a cada" percorre essa lista e chama Obter conteúdo do arquivo por ID e empurra base64ToBinary(body('Get_file_content')?['$content']) em uma variável de matriz chamada Arquivos. PDF4me's Mesclar vários arquivos PDF Consome a matriz e emite um PDF. Dropbox Criar arquivo escreve de volta como mesclar-4.pdf, porque havia quatro arquivos de entrada. Adicione um quinto arquivo amanhã e a próxima execução produzirá mesclar-5.pdf automaticamente.

Perguntas e respostas baseadas no "porquê".

Por que usar o gatilho e a opção "Listar arquivos na pasta" em conjunto? O gatilho fornece um único evento de novo arquivo, mas não garante uma lista atualizada de todos os outros itens na pasta. Listar arquivos na pasta O sistema captura o estado atual em tempo de execução, portanto, a mesclagem sempre reflete exatamente o que está no disco neste momento, e não o que estava lá quando o gatilho foi acionado ou quando o fluxo foi projetado.

Por que buscar por ID em vez de caminho? Os nomes dos arquivos podem entrar em conflito ou mudar. Os IDs do Dropbox são estáveis, exclusivos e imunes a alterações de nome. Mapeamento Eu ia de arquivos de lista para Obter conteúdo do arquivo Significa que o loop continua funcionando mesmo se um usuário renomear um arquivo no meio do processamento em lote, ou se dois arquivos tiverem o mesmo nome de exibição em subpastas diferentes.

Por que base64ParaBinário(...) sobre $content? Dropbox Obter conteúdo do arquivo retorna o arquivo como uma string base64 envolvida em um $content A propriedade `Mesclar vários arquivos PDF` do PDF4me espera uma coleção de buffers binários, não strings base64. base64ToBinary(body('Get_file_content')?['$content']) é a ponte que converte cada arquivo no momento em que ele entra no array.

Por que construir o nome do arquivo de saída com concat() e comprimento()? Codificação fixa Arquivo Output.pdf Significa que cada execução sobrescreve a anterior. concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') inclui a contagem de arquivos no nome, de modo que execuções consecutivas sejam registradas como mesclar-3.pdf, mesclar-4.pdf, mesclar-5.pdfBônus: uma rápida olhada na pasta de saída mostra quantos arquivos estavam no escopo a cada vez.


O que você receberá

Entrada: Uma pasta do Dropbox em /blog data/merge files dropbox contendo todos os PDFs que você inserir. Este passo a passo usa quatro: PDFA_Sample.pdf, sample_3_page.pdf, sample_pdf.pdf, sample.pdf. Saída: Um único PDF consolidado em /blog data/merge blog template/output/ chamado merge-N.pdf onde N é a contagem de arquivos em tempo de execução. Arraste mais arquivos e a próxima execução os detectará automaticamente.

A pasta do Dropbox antes da execução.

Pasta do Dropbox /blog data/merge files O Dropbox lista quatro PDFs classificados por nome: PDFA_Sample.pdf 16,5 KB, sample_3_page.pdf 2,48 KB, sample_pdf.pdf 2,14 KB, sample.pdf 97,67 KB, todos com acesso restrito somente a você.

A pasta do Dropbox após a execução.

A lista de pastas de saída do Dropbox contém os arquivos merge-3.pdf (37,22 KB) e merge-4.pdf (110,78 KB), cada um nomeado de acordo com o número de arquivos em escopo no momento da execução do fluxo.

A segunda execução continha quatro arquivos na pasta, portanto a saída é mesclar-4.pdfA execução anterior teve três.


Do que você precisa

  • Power Automate. Abra o Power AutomateQualquer plano com conectores premium (PDF4me Connect é premium).
  • Chave da API PDF4me. Obtenha sua chave de APIConecte-o na primeira vez que adicionar uma ação do PDF4me.
  • DropboxPasta de origem para os PDFs de entrada, pasta de destino para a saída mesclada. SharePoint, OneDrive e Google Drive funcionam de forma idêntica com seus respectivos conectores.
  • Alguns PDFsQualquer tamanho, qualquer combinação. O passo a passo utiliza quatro exemplos: PDF_Exemplo.pdf, sample_3_page.pdf, sample_pdf.pdf, exemplo.pdf. Arraste-os para dentro para espelhar cada captura de tela.

Primeiro, obtenha o conjunto de entrada e a saída esperada. Faça o download das quatro amostras em /blog dados/mesclar arquivos dropbox No seu Dropbox, publique o fluxo. Sua primeira execução deverá produzir um mesclar-4.pdf Idêntico ao que está linkado aqui.


O Fluxo em Resumo

  1. Dropbox: Quando um arquivo é criado (acionar).
  2. Dropbox: Listar arquivos em uma pastaRetorna todos os arquivos atualmente presentes na pasta monitorada.
  3. Inicializar variável chamado Files (Variedade).
  4. Aplicar a cada sobre body('List_files_in_folder'):
    • Dropbox: Obter conteúdo do arquivo por Id.
    • Adicionar à variável de matriz com base64ToBinary(body('Get_file_content')?['$content']).
  5. PDF4me: Mescle vários arquivos PDF em um único arquivo PDF.. Files em, Output.pdf fora.
  6. Dropbox: Criar arquivo. Nome do arquivo concat('merge-', string(length(body('List_files_in_folder'))), '.pdf').

Visão geral completa do fluxo

Fluxo do Power Automate mostrando seis ações empilhadas de cima para baixo: Quando um arquivo é criado, Listar arquivos na pasta, Inicializar variável, Aplicar a cada um contendo, Obter conteúdo do arquivo e Adicionar à variável de matriz (iterando 4 vezes), Mesclar vários arquivos PDF em um único arquivo PDF, Criar arquivo.

Seis ações. A opção "Aplicar a cada cartão" mostra "1 de 4" porque a pasta monitorada continha quatro PDFs no momento da execução.


Etapa 1: Dropbox: Quando um arquivo é criado (gatilho)

Fluxo até o momento: Apenas acione.

  1. Em Power Automate clique Criar, escolher Fluxo de nuvem automatizado.
  2. Dê um nome ao fluxo (por exemplo, Auto-Merge Dropbox Folder), escolha Dropbox: Quando um arquivo é criado como gatilho, clique Criar.
  3. Conectar Dropbox, caso ainda não o tenha feito.
  4. Configurar:
    • Pasta: /blog data/merge files dropbox
    • Parâmetros avançados: deixar como padrão (0 de 1 exibido).

Configuração do gatilho

Power Automate Dropbox: Quando um arquivo é criado, o gatilho tem a pasta definida como /blog data/merge files dropbox e os parâmetros avançados estão recolhidos, mostrando 0 de 1. Conectado ao Dropbox.

O gatilho verifica a pasta monitorada e é acionado a cada novo upload. A frequência padrão de verificação varia de acordo com o plano, geralmente de 1 a 5 minutos.


Etapa 2: Dropbox: Listar arquivos na pasta

Fluxo até o momento: gatilho mais Listar arquivos na pasta.

O gatilho é acionado em um único arquivo novo. A mesclagem precisa de todos os PDFs que estão atualmente na pasta. Listar arquivos na pasta Captura um novo instantâneo do conteúdo da pasta em tempo de execução.

  1. Clique + Novo passo, procurar Dropbox, escolha Listar arquivos na pasta.
  2. Configurar:
    • Pasta: /blog data/merge files dropbox (o mesmo caminho do gatilho)

Listar arquivos de configuração

Ação "Listar arquivos em pasta" do Power Automate no Dropbox com a pasta definida como /blog data/merge files dropbox, conectada ao Dropbox.
  1. A ação retorna body('List_files_in_folder'), uma matriz de objetos de metadados de arquivo. Cada objeto carrega Id, Name, DisplayName, Path, LastModified, e SizeO próximo passo itera sobre essa matriz.

Dica. Se a sua pasta tiver conteúdo misto (PDFs, imagens e documentos do Office) e você quiser mesclar apenas os PDFs, adicione uma Matriz de filtro ação após esta etapa com a expressão terminaCom(paraLower(item()?['Nome']), '.pdf') e, em vez disso, passe o array filtrado para o loop.


Etapa 3: Inicializar arquivos de variáveis

Fluxo até o momento: Gatilho mais Listar arquivos mais Inicializar variável.

A ação de mesclagem requer uma coleção de arquivos binários. Aloque um array vazio para armazená-los.

  1. Clique + Novo passo, escolha Inicializar variável.
  2. Configurar:
    • Nome: Files
    • Tipo: Array
    • ValorDeixe em branco

Inicializar configuração de variáveis

A ação Inicializar variável do Power Automate está configurada com Nomear Arquivos, Tipo Matriz e um campo Valor vazio.

Etapa 4: Aplicar a cada arquivo, obter conteúdo do arquivo e adicionar à matriz.

Fluxo até o momento: gatilho mais Listar arquivos mais Inicializar variável mais Aplicar a cada.

Este é o cerne do fluxo. Percorra cada arquivo retornado pelo snapshot, obtenha seus bytes, converta para binário e insira na pilha. Files.

Etapa 4a: Aplicar a cada um (escolha a fonte)

  1. Clique + Novo passo, escolha Aplicar a cada um.
  2. Configurar:
    • Selecione uma saída das etapas anteriores. (expressão): body('List_files_in_folder')
No Power Automate, aplique a cada ação com a opção Selecionar uma saída das etapas anteriores definida como o corpo da expressão (``, onde o token Corpo da expressão Listar arquivos na pasta é exibido.

Etapa 4b: Obter o conteúdo do arquivo (dentro do loop)

  1. Dentro do loop, clique Adicionar uma ação, escolha Dropbox: Obter conteúdo do arquivo.
  2. Configurar:
    • Arquivo: escolha o Eu ia Token da lista de arquivos no conteúdo dinâmico da pasta (ele se resolve automaticamente para o ID do item atual).
    • Inferir tipo de conteúdo: Yes (em Parâmetros avançados)
A ação "Obter conteúdo do arquivo" do Power Automate Dropbox, com o arquivo definido como o token de ID da lista de arquivos na pasta e o parâmetro avançado "Inferir tipo de conteúdo" ativado, abre um painel de conteúdo dinâmico à direita, exibindo os tokens de ID, Nome, Nome de exibição, Caminho, Última modificação e Tamanho da lista de arquivos na pasta.

Etapa 4c: Adicionar à variável de matriz (dentro do loop)

  1. Abaixo, obtenha o conteúdo do arquivo. Adicionar uma ação, escolha Adicionar à variável de matriz.
  2. Configurar:
    • Nome: Files
    • Valor (expressão, clique) fx): base64ToBinary(body('Get_file_content')?['$content'])
No Power Automate, ao adicionar à variável de matriz dentro do loop "Aplicar a cada", nomeie os arquivos e defina o valor como a expressão `base64ToBinary`. O corpo da expressão é exibido no editor de expressões.

Essa é a frase que une tudo. O Dropbox retorna cada arquivo como { "$content": "<base64 string>", "$content-type": "application/pdf" }A ação de mesclagem requer um buffer binário. base64ParaBinário(...) sobre $content Faz a ponte entre os dois. Ignora a conversão e os erros de ação de mesclagem com "conteúdo inválido".


Passo 5: PDF4me: Mesclar vários arquivos PDF em um único arquivo PDF

Fluxo até o momento: Gatilho + Listar arquivos + Inicializar variável + Aplicar a cada + Mesclar vários PDFs.

Todo o conjunto de dados entra e um único PDF é gerado.

  1. Abaixo, clique em Aplicar a cada loop. + Novo passo, procurar PDF4me, escolha Mesclar vários arquivos PDF em um único arquivo PDF..
  2. Conectar Conecte-se ao PDF4me com sua chave de API (somente na primeira vez).
  3. Configurar:
    • Corpo/Conteúdo do documento: escolha o Files token variável
    • Nome do arquivo de saída: Output.pdf

Configuração da ação de mesclagem

A ação Power Automate PDF4me mescla vários arquivos PDF em um único arquivo PDF, com o Corpo/Conteúdo do documento definido para a variável Arquivos e o Nome do Arquivo de Saída como Output.pdf. O painel de conteúdo dinâmico é aberto, exibindo as variáveis Arquivos, Aplicar a cada, Item atual, Listar arquivos na pasta e Corpo.
  1. Os PDFs são concatenados em ordem do array, que é a ordem em que o Dropbox os retornou (normalmente em ordem alfabética por nome). Se você precisar de uma ordem diferente, classifique body('List_files_in_folder') com um Selecione ação antes do loop, por exemplo, por LastModified do mais recente para o mais antigo.

Dica. O interno Arquivo Output.pdf O nome é apenas o título dos metadados do PDF, não o nome do arquivo do Dropbox. O nome real do Dropbox é definido na etapa 6. Mantenha-o como um marcador estável para que você possa usar o comando grep para encontrar execuções de fluxo com esse nome no histórico de execuções do Power Automate.


Etapa 6: Dropbox: Criar arquivo com um nome de arquivo dinâmico

Fluxo até o momento: Gatilho + Listar arquivos + Inicializar variável + Aplicar a cada + Mesclar vários PDFs + Criar arquivo.

Reescreva o PDF mesclado no Dropbox com um nome de arquivo calculado em tempo de execução que inclua a contagem de arquivos.

  1. Clique + Novo passo, escolha Dropbox: Criar arquivo.
  2. Configurar:
    • Caminho da pasta: /blog data/merge blog template/output
    • Nome do arquivo (expressão, clique) fx): concat('merge-', string(length(body('List_files_in_folder'))), '.pdf')
    • Conteúdo do arquivo: escolha o Conteúdo do arquivo token da ação Mesclar vários PDFs

Expressão do nome do arquivo

Power Automate Dropbox Criar ação de arquivo Caminho da pasta /blog data/merge blog template/output, Nome do arquivo expressão concat paren merge dash comma string paren length paren body open quote List_files_in_folder close quote close paren close paren comma dot pdf close paren, Conteúdo do arquivo da ação de mesclagem

Ação final pronta

Ação "Criar arquivo" do Power Automate Dropbox com o caminho da pasta /dados do blog/mesclar modelo de blog/saída, expressão de concatenação do token de nome do arquivo, token de conteúdo do arquivo da ação "Mesclar vários arquivos PDF em um único arquivo PDF", painel de conteúdo dinâmico mostrando os tokens de conteúdo do arquivo, cabeçalhos/Nome do Arquivo e cabeçalhos/Contagem de Páginas.

A mesma expressão também expõe cabeçalhos/Contagem de Páginas na saída da mesclagem, útil caso você queira registrar quantas páginas o PDF consolidado contém.

Dica. Se preferir registrar a execução com uma data em vez de uma contagem de arquivos, troque a expressão por concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')Os arquivos chegam como merge-2026-06-12-094501.pdf e as reprises nunca se sobrepõem.


Execute o fluxo e verifique.

  1. Salvar o fluxo no canto superior direito.
  2. Arraste e solte um arquivo (ou quatro) em /blog data/merge files dropboxQualquer coisa serve, o intervalo de verificação dispara o gatilho em poucos minutos.
  3. Abra o Histórico de execução No canto superior direito, observe as ações ficarem verdes. Ao clicar em "Aplicar a cada", deverá ser exibida a contagem correta de iterações, "1 de 4", caso haja quatro arquivos na pasta.
  4. Abra o Dropbox em /blog data/merge blog template/output/Um arquivo chamado merge-4.pdf Está à espera. Abra-o e todos os PDFs da pasta de entrada serão reunidos em um único documento.

O que você construiu exatamente? Um pipeline de consolidação sem intervenção manual que reage a cada novo upload, lê todo o estado da pasta em tempo de execução e gera um único PDF com nome exclusivo contendo todos os arquivos atuais. Sem listas fixas, sem tarefas em lote agendadas, sem cliques manuais. O mesmo padrão lida com 4 PDFs ou 400 sem nenhuma alteração. A mesma receita funciona no Make (Iterador sobre a Lista de Arquivos do Dropbox) e no Zapier (Loop do Zapier sobre os resultados da Busca de Arquivos).


Variações comuns que você pode adicionar sem reconstruir

Filtrar apenas para PDFs
Insira um Matriz de filtro ação entre a etapa 2 e a etapa 3 com terminaCom(paraLower(item()?['Nome']), '.pdf')O loop então ignora arquivos .docx, .png e qualquer outro arquivo na pasta.
Ordenar por mais recentes primeiro
Adicionar um Selecione ação que mapeia a lista e a classifica com sort(body('List_files_in_folder'), 'LastModified'). Inverter com reverter(...) Se você quiser que os itens mais recentes fiquem no topo do PDF mesclado.
Converter para PDF/A após a mesclagem
Insira PDF4me Criar PDF/A entre a etapa 5 e a etapa 6 com a Conformidade PDF/A-2bOs arquivos enviados para o Dropbox agora estão em conformidade com o padrão de arquivamento ISO 19005.
Arquivos de origem do arquivo
Após o passo 6, adicione outro Aplicar a cada um Listar arquivos e ligar para o Dropbox Mover arquivo para inserir cada entrada em /processadoA próxima execução verá apenas uploads recentes.

Solução de problemas

A ação de mesclagem apresenta erros com "conteúdo inválido".

Adicionar ao array Valor A expressão não está envolvida em base64ParaBinário(...)Sem a conversão, a matriz contém strings base64 em vez de buffers binários, e o PDF4me as rejeita. Reabra "Adicionar à matriz", mude para o editor de expressões e cole. base64ToBinary(body('Get_file_content')?['$content']) literalmente.

Aplicar a cada execução zero vezes

O gatilho foi acionado, mas a lista de arquivos retornou uma matriz vazia. Verifique o gatilho e a lista de arquivos. Pasta Os valores são idênticos. Incompatibilidades de caminho (um com uma barra no final, o outro sem) são uma causa comum.

O nome do arquivo é exibido como mesclar-.pdf

O comprimento() A chamada não foi resolvida em tempo de design. Certifique-se de ter colado a expressão no... Nome do arquivo campo através do fx Editor de expressões, não como texto simples. O texto simples deixa as chaves como caracteres literais e a função nunca é executada.

A saída sobrescreve a execução anterior.

Duas execuções consecutivas com a mesma quantidade de arquivos produzem nomes idênticos (mesclar-4.pdf). Ou troque a expressão por um carimbo de data/hora (concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')) ou acrescente um GUID com guid().


Próximos passos

O mesmo padrão de seis etapas (observar, listar, iterar para um array, mesclar e salvar com um nome de tempo de execução) lida com qualquer automação de "reação a uma pasta". Adicione um novo arquivo amanhã e a execução o detectará. Sem edições, sem reimplementação.