Pular para o conteúdo principal

Preparar informações de análise para o documento

O que este guia abrange

Preparar informações de análise é a configuração do painel que transforma um dado bruto PDF em automatizado PDF extração de dadosVocê define chaves de captura, desenha zonas em um documento de amostra e atribui a cada chave uma regra de extração usando um dos seguintes métodos: Expressão regular para padrões estáveis ou JavaScript Expressão para lógica condicional. Uma vez salvo, o mesmo modelo é executado a partir do REST API, Make, Zapier, Power Automate, e n8n fazendo referência ao seu ID do modelo.

Artigos relacionados no blogue
Ainda não há nenhuma publicação no blogue sobre esta funcionalidade — em breve.
Entretanto, explore o blogue da PDF4me para encontrar tutoriais e fluxos de trabalho para todas as plataformas.
Visite o blogue

Autenticando sua configuração

A criação do modelo de análise ocorre no PDF4me Painel do desenvolvedor. Faça login com sua conta e, em seguida, crie ou copie um API chave para o documento de análise API chamadas que utilizam o modelo que você criou aqui.

Fatos importantes que você não deve perder

Primeiro a expressão regular, JavaScript somente quando necessário
Usar Expressão regular Para qualquer campo com formato estável (número da fatura, data, total, CNPJ). Use JavaScript Expressão Use somente quando precisar de lógica condicional, ramificação com múltiplas regras ou classificação de documentos. Combinar os dois no mesmo modelo é aceitável e recomendado.
Um modelo por família de layout estável
Um único modelo lida com pequenas variações, como alterações de fonte ou mudanças de posição. Para layouts realmente diferentes (dois fornecedores com designs de fatura diferentes), crie modelos separados e direcione os arquivos para o modelo correto por classificador ou sistema de origem antes de chamar a função "Analisar Documento".
Salvar TemplateId, não o nome
Após salvar as alterações, o painel gera um GUID. ID do modelo para o modelo. Sempre passe ID do modelo em produção API ligações. Nome do modelo Também funciona, mas renomear o modelo quebra qualquer automação que faça referência a ele pelo nome.

Passo 1: Criar o modelo de análise

  1. Abra o Painel de controle do Parse Document.
  2. Clique Adicionar e insira um nome de modelo claro (por exemplo, invoice ou vendor-statement).
  3. Clique Salvar para criar o modelo vazio.
  4. Abra o modelo em Editar modo para iniciar a configuração das chaves de captura.
A lista de modelos de análise de documentos do PDF4me está disponível no painel do desenvolvedor, com o botão "Adicionar" para criar um novo modelo de análise para extração automatizada de dados de PDFs.

Etapa 2: Carregue uma amostra e configure as chaves de captura.

O painel de controle exibe um arquivo carregado. PDF à direita e mostra o Informações de análise Formulário à esquerda. Use amostras reais com formato de produção, não arquivos de teste sintéticos, para que as áreas de captura correspondam ao que você verá no tráfego real.

  1. Clique Carregar arquivo de modelo e selecione uma amostra representativa (fatura, contrato, formulário).
  2. Sob Chaves, clique + Para adicionar uma chave de captura, dê um nome a ela em camelCase: invoiceNumber, customerName, totalAmount.
  3. Escolher Selecione o tipo de expressão para a chave: Javascript Expression ou Regex Expression.
  4. Cole o corpo da expressão no campo que aparecer.
  5. Definir Páginas para all digitalizar todas as páginas ou até um número de página específico (1, 2, etc.) para limitar o escopo.
  6. Alternar Pesquisar em toda a página Ativado quando o valor não está em uma posição fixa. Desativado, apenas a área de captura desenhada é pesquisada.
Interface de configuração do PDF4me Parse Document. O painel esquerdo exibe as informações de análise com o nome do modelo (fatura), o ID da análise e uma chave (KeyName) com as opções "Selecionar tipo de expressão" (Expressão JavaScript), "Corpo da expressão JavaScript", "Todas as páginas" e "Pesquisar página inteira". O painel direito exibe o PDF da fatura carregado, renderizado com os botões de ação "Carregar arquivo de modelo", "Testar análise" e "Salvar alterações" na parte superior, em ordem de execução da esquerda para a direita.

Tela de configuração do Parse Document. À esquerda: formulário Parse Info com chaves e tipo de expressão. À direita: exemplo carregado. PDFOs botões de ação são exibidos da esquerda para a direita: Carregar arquivo de modelo, Testar análise, Salvar alterações.

Etapa 3: Selecione o tipo de expressão por chave

Tipo de expressãoIdeal paraUso típicoComplexidade
Regex ExpressionFixed text patternsInvoice number, dates, totals, tax IDs, postal codesLow
JavaScript ExpressionConditional and multi-rule extractionDocument classification, fallback logic, rule orchestrationMedium to High

Padrões de expressões regulares (noções básicas de análise de PDF com expressões regulares)

Usar Expressão regular Quando o campo apresenta um formato estável e previsível, a área capturada é escaneada para a primeira correspondência.

INV-\d{6,10}
\d{2}/\d{2}/\d{4}
\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Mapeamentos de teclas comuns para uma fatura:

  • invoiceNumberINV-\d{6,10}
  • invoiceDate\d{2}/\d{2}/\d{4}
  • totalAmount\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Esses mesmos padrões também funcionam para os mesmos campos em extratos de fornecedores, pedidos de compra e documentos de remessa, porque os números de faturas, datas e valores compartilham o mesmo formato na maioria dos documentos comerciais.

JavaScript Expressão para lógica condicional

Usar JavaScript Expressão quando o resultado depende da presença ou combinação de múltiplos marcadores no documento. PDF4me passa o texto extraído para sua função como a variável textSua função avalia o texto e retorna uma string que se torna o valor da chave.

Exemplo 1: classificar por marcadores de conteúdo

Distingue um documento de Termos e Condições de um documento de Pedido verificando quais frases marcadoras aparecem:

function functionFormatTextDate1(text) {
console.log("Hello");
var term = [...text.matchAll(/General Terms and Conditions/gi)];
var order = [...text.matchAll(/your ordernumber/gi)];

if (term.length) {
if (order.length) {
return "Order document";
} else {
return "Terms and Conditions";
}
} else {
return "Not Terms and Conditions";
}
}

return functionFormatTextDate1(text);

Exemplo 2: detecção de fatura versus pedido

Um classificador curto que determina se o documento é uma fatura ou um pedido com base na presença das palavras. invoice e ordernumber:

function functionGetInvoiceOrder(text) {
// You get all PDF text in `text`
var invoice = [...text.matchAll(/invoice/gi)];
var order = [...text.matchAll(/ordernumber/gi)];

if (invoice.length) {
if (order.length) {
return "Order document";
} else {
return "invoice";
}
} else {
return "";
}
}

return functionGetInvoiceOrder(text);

Dica de implementação: Envolva sua lógica em uma função nomeada e chame-a com retornar nomeDaFunção(texto); Na parte inferior. O painel executa o corpo da expressão como uma função cujo valor final retornado preenche a chave.

Etapa 4: Testar a análise e salvar as alterações

Os botões de ação na parte superior do editor são exibidos da esquerda para a direita, na ordem em que você os utiliza:

  1. Carregar arquivo de modelo carrega a amostra PDF Utilizado para desenhar áreas de captura.
  2. Análise de teste Executa todas as chaves em relação à amostra carregada e exibe os valores extraídos em linha. Use isso para validar cada expressão regular ou JavaScript expressão antes de salvar.
  3. Salvar alterações mantém o modelo e atribui um estável TemplateId (GUID). Copie esse GUID para usar em API chamadas e plataformas de automação.

Repita em cada chave até Análise de teste Retorna o valor esperado para cada campo. Reduza a área de captura se encontrar texto adjacente ou refine a expressão se as correspondências de padrão forem muito amplas.

Use o modelo em API ou chamadas de automação

Uma vez Salvar alterações atribui um TemplateIdO mesmo modelo de análise sintática funciona em qualquer lugar por referência. Você não precisa recriar a configuração em cada plataforma.

CampoFontePropósito
TemplateIdO GUID é exibido no painel de detalhes do modelo após o salvamento.Identificador estável para automação de produção. Sempre prefiro este ao TemplateName.
TemplateNameO nome que você digitou na Etapa 1.Alternativa para pesquisa. Renomear o modelo interrompe as chamadas que o referenciam pelo nome.
ParseIdUm GUID que você gera no lado do cliente (um por chamada).Associa sua solicitação com a saída da análise sintática, útil para registro e trilhas de auditoria.
docNameFonte PDF nome do arquivoUtilizado para rastreamento e mensagens de erro.
docContentFonte PDF codificado como Base64O arquivo a ser analisado.
asyncfalse para síncrono, true para votaçãoControla a entrega da resposta.

Exemplo REST Corpo da requisição:

{
"docName": "invoice.pdf",
"docContent": "BASE64_ENCODED_PDF_CONTENT",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": false
}

A resposta contém um campo para cada chave definida no modelo. Direcione-a para essa rota. JSON em qualquer nó subsequente: Google Sheets, Airtable, um banco de dados, uma planilha do Excel ou um webhook.

Fluxos de trabalho comuns

Padrões típicos de modelos de análise sintáticaHow a saved parse template moves from dashboard to production.
Transfira a caixa de entrada de faturas para uma planilha de contabilidade.
  1. Uma fatura de fornecedor PDF chega em uma pasta de e-mail ou na nuvem monitorada.
  2. Make, Zapier, Power Automate, ou n8n chama o Parse Document com o seu TemplateId.
  3. A estrutura JSON O resultado (número da fatura, valor total, data da fatura) é anexado como uma linha em Google Sheets ou Excel.
  4. O departamento de contabilidade revisa e aprova diretamente da planilha.
Formulário de entrada para registro no banco de dados
  1. Um cliente carrega um formulário preenchido. PDF preencha o formulário através do seu portal.
  2. Seu backend chama Parse Document com TemplateId e o Base64 PDF.
  3. O analisado JSON é mapeado para uma instrução INSERT no banco de dados, com uma coluna por chave de modelo.
  4. Um e-mail de confirmação é enviado ao cliente usando o nome e o número de referência analisados.
Classificador e extrator de documentos
  1. Uma única pasta monitorada recebe documentos variados (faturas, pedidos, contratos).
  2. A JavaScript A chave de expressão no modelo retorna o tipo de documento (veja o Exemplo 2 acima).
  3. Seu fluxo de trabalho encaminha cada arquivo para o sistema subsequente correto com base no tipo retornado.
  4. Os arquivos identificados como faturas continuam com a extração de campos baseada em expressões regulares na mesma chamada de modelo.

Melhores práticas de configuração de modelos

  • Desenhe áreas de captura ligeiramente maiores do que o valor esperado para que a deriva da fonte ou da posição não empurre o valor para fora do quadro.
  • Mantenha os nomes das chaves consistentes em camelCase em todos os modelos para que o mapeamento subsequente em planilhas, bancos de dados e webhooks permaneça previsível.
  • Teste cada chave com pelo menos três exemplos reais, incluindo casos extremos como campos opcionais ausentes, faturas de segunda página e OCR-texto derivado de digitalização PDFs.
  • Usar JavaScript Use a expressão apenas onde a Regex não consegue expressar a regra. Manter a lógica simples facilita a depuração do modelo.
  • Versionar seus modelos por nome (invoice-v1, invoice-v2) ao fazer alterações que quebrem a compatibilidade, para que a automação de produção possa migrar em seu próprio ritmo.
  • Executar verificação PDFs através OCR primeiro (o PDF4me OCR ponto final) antes da análise. Os modelos são extraídos da camada de texto, que foi escaneada. PDFs não tenho até OCR é aplicado.

Ações relacionadas

Analisar documento API
REST endpoint que executa seu modelo salvo em qualquer PDF usando TemplateId e retorna estruturado JSON.
Configurar e classificar documento
Guia complementar para saídas somente por categoria, sem extração de campos. Útil como pré-roteador antes da função "Analisar Documento".
Analisar documento em Make
Aplique seu modelo em fluxos de trabalho visuais com módulos subsequentes de roteamento, armazenamento e notificação.
Analisar documento em Zapier
Executar análise de modelo a partir de gatilhos baseados em SaaS Automações em mais de 6.000 aplicativos.
Analisar documento em Power Automate
Integrar a saída da análise com Microsoft 365 fluxos de aprovação, SharePoint registros e Dynamics oleodutos.
Analisar documento em n8n
Fluxo de trabalho auto-hospedado com regex ou JavaScript expressão baseada PDF Extração de dados, além de controle total sobre os nós subsequentes.

Perguntas frequentes

Should I use Regex Expression or JavaScript Expression first?+
Start with Regex Expression for fixed-shape fields like invoice numbers, dates, totals, and tax IDs. Move to JavaScript Expression when extraction depends on multiple conditions, fallback rules, or document classification. Most production templates use Regex for around 80% of keys and JavaScript for the rest.
Where does the text variable in JavaScript Expression come from?+
PDF4me passes the extracted text of the captured region (or the full PDF when Search Whole Page is enabled) into the expression context as the variable named text. Your function evaluates that string and returns a string for the configured key.
Does parse template extraction work on scanned PDFs?+
Yes, when the PDF has been OCR-processed first. Scanned PDFs are images until OCR is applied. Run the source file through the PDF4me OCR endpoint or upload an already-OCR'd PDF to the dashboard before drawing capture areas. The template then extracts from the OCR text layer.
Can one template handle multiple invoice layouts?+
It can absorb small differences in font, position, or page count. For genuinely different layouts (two vendors with different invoice designs) create separate templates and route files to the right one by classifier or source system before calling Parse Document.
What do I need to call the parse template from the API?+
Send docName, docContent (the PDF as Base64), TemplateId (the GUID copied from the dashboard after Save Changes), ParseId (a client-generated GUID), and async (false for immediate response, true for polling). TemplateName works instead of TemplateId but TemplateId is recommended for stable automation.
How do I move extracted data into Excel, Google Sheets, or a database?+
The parse output is structured JSON, with one field per key you defined in the template. Route that JSON to any destination from your automation platform: Add Row in Google Sheets, Insert Row in Airtable or a database, or write to Excel via the Excel module in Make, Power Automate, n8n, or Zapier. The same TemplateId works on every platform.
How does this compare with Python PDF data extraction libraries?+
Tools like pdfplumber, PyMuPDF, and pdfminer give you raw extraction primitives in Python, but you write and maintain the matching logic yourself. PDF4me parse templates give you a saved, named template you configure once in a dashboard and call from any language or platform. Use Python libraries when you need full programmatic control inside a single codebase; use PDF4me parse templates when you want the same extraction running across the REST API, Make, Zapier, Power Automate, and n8n without copying logic between systems.
How should I test a parse template before production?+
Validate each key against at least three real samples, including edge cases such as missing optional fields, alternate fonts, multi-page documents, and second-page positions. Use Test Parse in the dashboard for each sample, confirm the output matches expectations, then run a small automation against live files in monitor mode before enabling end-to-end automation.
How do I connect this setup to no-code platforms?+
Use the platform-specific guides under Related actions. Each platform exposes the same TemplateId and ParseId fields so the parsing logic stays identical to what you tested in the dashboard. The output structure also matches across platforms.

Obtenha ajuda