Pular para o conteúdo principal

Dividir PDF por texto no Power Automate: Transforme um lote digitalizado em arquivos separados com o PDF4me.

· 25 min para ler
SEO and Content Writer

PDF4me Dividir PDF por Texto é uma ação do Power Automate que divide um PDF em vários arquivos sempre que um marcador de texto aparece. Este fluxo monitora uma pasta do SharePoint e divide cada nova digitalização em vários arquivos. Serial#: O marcador, em seguida, envia os resultados para o Dropbox. Uma verificação em lote resulta em três arquivos nomeados, sem necessidade de seleção manual de páginas.

Qualquer pessoa que use um scanner conhece o problema. Alguém coloca uma pilha de documentos no alimentador, aperta o botão de digitalização uma vez e você recebe um único PDF contendo vinte registros sem relação entre si. Qualquer ferramenta online de divisão de arquivos na primeira página do Google resolve isso sem problemas, desde que uma pessoa faça o upload do arquivo, clique em um seletor de páginas e baixe as partes. Isso funciona bem uma vez. Mas não funciona quando o scanner é usado todas as manhãs. Esse fluxo elimina completamente a intervenção humana.

O fluxo em resumo
1. When a file is created in a folder
SharePoint trigger watching /Shared Documents/ScanSplitInput.
2. PDF - Split PDF by Text
PDF4me cuts the scan before every page carrying the Serial#: marker.
3. For each
Loops over body/splitedDocuments, once per split file.
4. Create file
Dropbox writes each piece into /ScanSplitOutput under its own name.
A versão curta

Uma digitalização chega a uma biblioteca do SharePoint. O PDF4me lê a camada de texto, encontra todas as páginas que iniciam um novo registro e retorna uma matriz de PDFs separados. Um loop "Para cada" percorre essa matriz e salva cada arquivo no Dropbox. Quatro ações, sem necessidade de escrever expressões, e toda a execução termina em menos de seis segundos.

Perguntas e respostas baseadas no "porquê".

Por que dividir por texto em vez de por número de páginas? A contagem de páginas só funciona quando todos os registros têm o mesmo comprimento. Lotes reais não são uniformes. Uma fatura ocupa uma página, a seguinte ocupa quatro. Um marcador de texto acompanha o registro, portanto a divisão permanece correta independentemente da variação nos comprimentos.

Por que o PDF precisa de uma camada de texto? A ação pesquisa o texto dentro do documento, não os pixels. Uma fotografia ou digitalização em mesa plana sem OCR aplicado não tem texto para encontrar, portanto, toda correspondência retorna vazia. Execute o OCR primeiro e o mesmo fluxo funcionará com originais em papel.

Por que usar um loop "Para cada" após a divisão? A ação retorna uma matriz, não um único arquivo. O Power Automate não consegue gravar uma matriz no armazenamento de uma só vez, então o loop transforma "três documentos" em três chamadas separadas de criação de arquivo.

Por que enviar a saída para o Dropbox e não de volta para o SharePoint? É uma questão de hábito, além de manter as pastas de entrada e saída visivelmente separadas durante os testes. Troque a última ação por "Criar arquivo no SharePoint" e nada mais no fluxo será alterado.


O que você receberá

Entrada: Um PDF com vários registros foi inserido em uma biblioteca de documentos do SharePoint, onde cada registro começa com uma linha que dizia: Serial#: SPTEST-A, Serial#: SPTEST-BE assim por diante. Saída: Um arquivo PDF por registro em uma pasta do Dropbox, cada um contendo exatamente as páginas pertencentes àquele registro.

Biblioteca de documentos do SharePoint mostrando a pasta ScanSplitInput contendo os arquivos scan-split-test.pdf e sharepoint-trigger-test.pdf, ambos modificados pela conta Pdf4me Flow.

A pasta do SharePoint monitorada. Qualquer coisa que chegue aqui inicia uma execução.

A pasta Dropbox ScanSplitOutput lista os arquivos sharepoint-trigger-test 1.pdf, sharepoint-trigger-test 2.pdf e sharepoint-trigger-test 3.pdf gerados pela divisão.

Uma digitalização de três páginas resulta em três PDFs numerados separadamente.


Do que você precisa

  • Power Automate. Abra o Power AutomateUma licença padrão do Microsoft 365 cobre tudo o que é usado aqui. Este é um fluxo na nuvem, não o Power Automate Desktop.
  • Chave da API PDF4me. Obtenha sua chave de APIConecte-o na primeira vez que adicionar uma ação do PDF4me.
  • Um site do SharePoint e uma conta do Dropbox.Crie uma pasta de entrada em uma biblioteca de documentos do SharePoint e uma pasta de saída no Dropbox antes de criar o fluxo, para que ambos os seletores tenham para onde apontar.
  • Um PDF de teste com marcadores de texto repetidos.. scan-batch-sample.pdfTrês páginas, cada uma abrindo com sua própria linha de número de série.

Primeiro, pegue as amostras. Após salvar o fluxo, faça o download do PDF de entrada e carregue-o na sua pasta de entrada do SharePoint. Os três arquivos de saída esperados também estão incluídos, para que você possa compará-los com os resultados da sua execução.


O Fluxo em Resumo

  1. Quando um arquivo é criado em uma pasta (Gatilho do SharePoint) apontado para /Shared Documents/ScanSplitInput.
  2. PDF - Dividir PDF por texto (PDF4me) com o texto de pesquisa Serial#:(.*) e Tipo Dividido before.
  3. Para cada iterando body/splitedDocuments.
  4. Criar arquivo (Dropbox) escrevendo em /ScanSplitOutput.

Visão geral completa do fluxo

O histórico de execução do Power Automate mostra quatro ações concluídas com sucesso nesta ordem: SharePoint - Criação de um arquivo em uma pasta (0,3 segundos), PDF - Divisão de PDF por texto (0,4 segundos), Para cada (4 segundos, mostrando a iteração 1 de 3) e Dropbox - Criação de arquivo (1 segundo).

O fluxo completo consiste em quatro ações. Para cada contador que lê "1 de 3", a divisão está funcionando.


Passo 1: Como monitorar uma pasta do SharePoint em busca de novas verificações?

Fluxo até o momento: Nada ainda, este é o gatilho.

O gatilho é acionado sempre que um arquivo aparece em uma pasta específica da biblioteca de documentos. Escolha a pasta com precisão. Apontar para a raiz de uma biblioteca compartilhada significa que qualquer upload não relacionado iniciará uma execução.

  1. Criar um novo Fluxo de nuvem automatizado e pesquise a lista de gatilhos para Quando um arquivo é criado em uma pasta.
  2. Configurar:
    • Endereço do site: seu site, por exemplo PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • ID da pasta: /Shared Documents/ScanSplitInput
  3. Abrir Parâmetros avançados e ligue Inferir tipo de conteúdo, então defina-o para Yes.

Configuração de gatilho do SharePoint

No Power Automate, quando um arquivo é criado em uma pasta, o painel de gatilho com o Endereço do Site definido como PDF4me SharePoints, o ID da Pasta definido como /Shared Documents/ScanSplitInput e o parâmetro avançado Inferir tipo de conteúdo definido como Sim.

A configuração "Inferir tipo de conteúdo" como "Sim" é o que faz com que o gatilho forneça bytes reais do PDF em vez de um blob genérico.

Dica. Este gatilho possui um rótulo "(obsoleto)" no seletor. Ele ainda funciona e é o que está mostrado aqui, mas para um novo fluxo de produção, prefira Quando um arquivo é criado (somente propriedades) seguido pela Obter conteúdo do arquivoO restante do fluxo é idêntico, pois ambas as rotas terminam com bytes de arquivo em mãos. A Microsoft lista cada gatilho e seu status no Referência do conector do SharePoint.


Etapa 2: Como a opção Dividir PDF por Texto decide onde cortar?

Fluxo até o momento: Gatilho do SharePoint.

Esta é a ação que realiza o trabalho de verdade. Ela lê a camada de texto do documento, encontra todas as páginas que contêm o texto pesquisado e recorta o documento nessas páginas. Todo o resto é burocracia.

  1. Adicione uma nova etapa e pesquise por PDF - Dividir PDF por texto.
  2. Configurar:
    • Conteúdo do arquivo: File Content do gatilho
    • Nome do arquivo: x-ms-file-name-encoded do gatilho
    • Texto: Serial#:(.*)
    • Tipo dividido: before
    • Nomeação de Arquivos Divididos: NameAsPerOrder
  3. Conecte sua conta PDF4me quando solicitado.

Dividir PDF por parâmetros de texto

ParâmetroValor utilizado aquiO que ele controla
Conteúdo do arquivoFile Content do gatilhoOs bytes do PDF a serem divididos. Deve ser um PDF válido com uma camada de texto pesquisável.
Nome do arquivox-ms-file-name-encodedO nome da fonte é usado para identificação do processamento e como radical para os nomes de saída.
TextoSerial#:(.*)O marcador que inicia um novo registro. A correspondência diferencia maiúsculas de minúsculas, portanto serial#: não encontraria nada.
Tipo divididobeforeCorta imediatamente antes de cada página correspondente, de modo que a página de marcação abra seu próprio documento. Use after Para fechar a anterior.
Nomeação de Arquivos DivididosNameAsPerOrderNumere as saídas na ordem em que foram cortadas, produzindo name 1.pdf, name 2.pdf, name 3.pdf.
O painel de ação "Dividir PDF por Texto" do PDF4me mostra o Conteúdo do Arquivo mapeado a partir do gatilho do SharePoint, o Nome do Arquivo mapeado para x-ms-file-name-encoded, o Texto definido como o padrão de pesquisa Número de Série, o Tipo de Divisão definido como "antes" e a Nomenclatura do Arquivo Dividido definida como "NomeComoOrdem".

O tipo de divisão antes da alteração é a diferença entre um marcador que abre seu registro e o que fecha o registro acima dele. Se essa configuração for invertida, todos os arquivos ficarão desalinhados em uma página.

Dica. Escolha um marcador que não possa aparecer em nenhum outro lugar do documento. Serial#: é seguro. Uma simples palavra como Invoice Não, porque também encontrará a frase "Total da fatura" no meio da página e dividirá a busca ali também.


Passo 3: Por que você precisa de um loop "Para cada" aqui?

Fluxo até o momento: Gatilho do SharePoint mais divisão de PDF por texto.

A ação de divisão retorna uma matriz chamada splitedDocumentsCada entrada contém um arquivo de saída. O Power Automate não tem como gravar uma matriz inteira no armazenamento em uma única ação, portanto, a matriz precisa ser percorrida entrada por entrada.

  1. Adicionar um Controlar ação e escolha Para cada.
  2. Configurar:
    • Selecione uma saída das etapas anteriores.: body/splitedDocuments da ação Dividir PDF por Texto
  3. Deixe a simultaneidade do loop no valor padrão. Esses arquivos são pequenos e a ordem fica mais fácil de ler quando as execuções permanecem sequenciais. A Microsoft documenta os limites de simultaneidade e aninhamento em Aplicar a cada referência.

Para cada configuração

No Power Automate, para cada painel de ação com o campo "Selecionar uma saída das etapas anteriores" preenchido com o token body/splitedDocuments da ação "Dividir PDF por Texto" do PDF4me, selecione a opção correspondente.

Um token representa toda a configuração. Se o Power Automate envolveu automaticamente sua ação "Criar arquivo" em um loop, ele já fez isso para você.

Essa é a única linha que decide se o fluxo funciona. Se você apontar o loop para qualquer coisa que não seja corpo/documentos divididos, a ação Criar arquivo dentro dele será executada uma vez com a carga útil incorreta ou não será executada de forma alguma.


Passo 4: Como salvar cada arquivo dividido no Dropbox?

Fluxo até o momento: Gatilho do SharePoint mais Dividir PDF por Texto mais Para cada.

Dentro do loop, cada iteração expõe o arquivo dividido atual por meio de dois tokens: fileName e streamFile. Trace-os em linha reta.

  1. Dentro do Para cada bloco, adicione um Dropbox ação e escolha Criar arquivo.
  2. Configurar:
    • Caminho da pasta: /ScanSplitOutput
    • Nome do arquivo: fileName
    • Conteúdo do arquivo: streamFile
  3. Conecte sua conta do Dropbox quando solicitado.

Configuração de criação de arquivo do Dropbox

Painel de ação "Criar arquivo" do Dropbox dentro do loop "Para cada" com o Caminho da Pasta definido como /ScanSplitOutput, Nome do Arquivo mapeado para o token fileName e Conteúdo do Arquivo mapeado para o token streamFile da ação de divisão do PDF4me.

fileName e streamFile vêm do item de loop atual, não do gatilho. Ambos os tokens contêm o ícone do PDF4me.

Dica. Mantenha a pasta de saída diferente da pasta de entrada. Gravar os arquivos divididos de volta na pasta que o gatilho está monitorando cria um loop que é acionado novamente em sua própria saída, o que é uma maneira dispendiosa de descobrir o problema.


Execute o fluxo e verifique.

  1. Salvar o fluxo no canto superior direito.
  2. Carregar scan-batch-sample.pdf Na pasta do SharePoint que o gatilho está monitorando. O gatilho realiza sondagens, portanto, aguarde um minuto em vez de esperar uma execução instantânea.
  3. Abra o fluxo histórico de execução e confirme se todas as quatro ações possuem um visto verde. O bloco "Para cada" exibe um contador e deve mostrar... 1 de 3 para o arquivo de exemplo.
  4. Abrir /ScanSplitOutput No Dropbox. Você deverá ver três PDFs numerados de 1 a 3, cada um contendo exatamente um registro de número de série.

O que você construiu exatamente? Um separador de documentos com reconhecimento de conteúdo. As mesmas quatro ações funcionam em qualquer lote onde cada registro se identifica com uma sequência consistente, seja um número de fatura, um ID de paciente, uma referência de caso ou um título de capítulo. A mesma ação do PDF4me existe em Fazer, Zapier e n8nAssim, o padrão se adapta de plataforma para plataforma, com apenas as etapas de gatilho e armazenamento sendo alteradas.


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

Primeiro, faça o OCR da digitalização.
Os originais em papel não possuem camada de texto. Insira uma ação OCR do PDF4me entre o gatilho e a divisão, e as digitalizações somente de imagem começarão a corresponder ao mesmo marcador.
Dividir com base no código de barras.
Se o seu scanner inserir folhas separadoras, altere a ação para Dividir PDF por código de barrasMesmo loop, mesmo arquivo de criação, método de detecção diferente.
Rota por conteúdo
Adicione uma condição dentro do loop que leia o nome do arquivo atual e escreva em uma pasta diferente para cada prefixo. Uma única varredura se ramifica para vários destinos.
PDF4me versus as alternativas
Consulte a tabela comparativa abaixo para ver como essa abordagem difere dos divisores online manuais e do Power Automate Desktop.
Fluxo na nuvem versus as alternativasFunciona sem supervisãoDivisões de conteúdoPrecisa de um computador de mesa.
PDF4me em um fluxo de nuvem do Power AutomateSimSim, em qualquer marcador de texto.Não
Divisor manual onlineNão, cada arquivo é carregado por uma pessoa.Às vezes, por meio do seletor de páginas.Não
Power Automate DesktopSomente enquanto a máquina estiver ligadaDepende das ações instaladas.Sim

Perguntas frequentes

Como dividir um PDF no Power Automate?

Adicione o PDF - Dividir PDF por texto ação do PDF4me para um fluxo na nuvem, mapeie os bytes do PDF em Conteúdo do arquivoe dê a ele um Texto valor a ser pesquisado. A ação retorna uma matriz de PDFs separados em body/splitedDocumentsEnvolva uma ação de armazenamento, como o Dropbox. Criar arquivo em um Para cada Percorra esse array e cada elemento será salvo.

Não há escrita de expressões envolvida. As quatro ações mostradas nesta postagem representam todo o fluxo.

O Power Automate consegue dividir um PDF com base no conteúdo?

Sim, é exatamente isso que esse fluxo faz. O Power Automate não possui uma ação nativa de divisão de PDFs, então o reconhecimento de conteúdo vem do conector PDF4me. Ele lê a camada de texto do documento e corta onde a sua string de pesquisa aparece, o que significa que a divisão segue os registros em vez de uma contagem fixa de páginas.

O único requisito é uma camada de texto real. Uma digitalização que nunca passou por OCR é apenas uma sequência de palavras para fins de pesquisa.

Como dividir um PDF em vários arquivos no Power Automate?

A divisão em si é uma ação, mas extrair vários arquivos dela requer duas. Dividir PDF por texto produz a matriz e um Para cada O loop transforma esse array em uma única chamada de criação de arquivo por documento. Ignorar o loop é o motivo mais comum para que as pessoas acabem com um único arquivo de saída em vez de vários.

No exemplo executado aqui, uma varredura de três registros produz três arquivos chamados sharepoint-trigger-test 1.pdf através sharepoint-trigger-test 3.pdf, porque Nomeação de Arquivos Divididos foi definido para NameAsPerOrder.

A função de dividir PDF funciona no Power Automate Desktop?

Este fluxo é um fluxo em nuvem, e isso é intencional. Ele é executado na infraestrutura da Microsoft sempre que um arquivo chega ao SharePoint, sem a necessidade de manter uma máquina ligada ou um gateway para gerenciar. O Power Automate Desktop pode chamar a mesma API do PDF4me, mas você assume a responsabilidade por uma máquina agendada e seu tempo de atividade.

Se seus documentos já estiverem armazenados no SharePoint, OneDrive ou Dropbox, o fluxo de trabalho na nuvem é a opção mais simples.

É possível dividir um PDF por marcador em vez de texto?

Não com essa ação. Dividir PDF por texto Correspondências apenas na camada de texto. Se seus documentos de origem contiverem marcadores confiáveis, os equivalentes mais próximos do PDF4me são Dividir PDF por número de página, ou Dividir PDF por código de barras quando folhas separadoras estão em uso.

Na prática, um marcador de texto é mais confiável do que um marcador de página em material digitalizado, porque os scanners não criam marcadores de página, mas preservam tudo o que foi impresso na página.


Solução de problemas

O fluxo é executado, mas apenas um arquivo aparece no Dropbox.

A ação "Criar arquivo" está fora do loop "Para cada" ou o loop está apontando para o token errado. Abra o loop e confirme se ele está correto. corpo/documentos divididosE verifique se a instrução "Criar arquivo" está dentro dos limites do loop, e não abaixo deles.

A divisão retorna o arquivo original, sem alterações.

Nenhuma página correspondeu ao texto de pesquisa, portanto não havia nada para recortar. Verifique primeiro se as maiúsculas e minúsculas estão corretas, pois a correspondência diferencia maiúsculas de minúsculas. Em seguida, abra o PDF e tente selecionar o texto do marcador com o cursor. Se ele não for destacado, o documento não possui camada de texto e precisa de OCR antes que essa ação possa detectar qualquer coisa.

Todos os arquivos de saída estão desalinhados em uma página.

O tipo de divisão está definido com um valor incorreto. antes, a página que contém o marcador inicia um novo documento. Com depoisIsso encerra a anterior. Inverta a configuração e execute novamente.

O fluxo continua se desencadeando sozinho

A pasta de saída é a mesma pasta que o gatilho monitora, portanto, cada arquivo dividido inicia uma nova execução. Aponte "Criar arquivo" para uma pasta separada, neste caso, o Dropbox. /ScanSplitOutput caminho, e o ciclo para.


Próximos passos

O mesmo padrão de quatro etapas (monitorar uma pasta, dividir por um marcador, percorrer a matriz, salvar cada parte) lida com qualquer documento em lote que precise se tornar vários.