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.
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
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
- Abra o Painel de controle do Parse Document.
- Clique Adicionar e insira um nome de modelo claro (por exemplo,
invoiceouvendor-statement). - Clique Salvar para criar o modelo vazio.
- Abra o modelo em Editar modo para iniciar a configuração das chaves de captura.

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.
- Clique Carregar arquivo de modelo e selecione uma amostra representativa (fatura, contrato, formulário).
- Sob Chaves, clique + Para adicionar uma chave de captura, dê um nome a ela em camelCase:
invoiceNumber,customerName,totalAmount. - Escolher Selecione o tipo de expressão para a chave:
Javascript ExpressionouRegex Expression. - Cole o corpo da expressão no campo que aparecer.
- Definir Páginas para
alldigitalizar todas as páginas ou até um número de página específico (1,2, etc.) para limitar o escopo. - 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.

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ão | Ideal para | Uso típico | Complexidade |
|---|---|---|---|
| Regex Expression | Fixed text patterns | Invoice number, dates, totals, tax IDs, postal codes | Low |
| JavaScript Expression | Conditional and multi-rule extraction | Document classification, fallback logic, rule orchestration | Medium 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:
invoiceNumber→INV-\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:
- Carregar arquivo de modelo carrega a amostra PDF Utilizado para desenhar áreas de captura.
- 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.
- 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.
| Campo | Fonte | Propósito |
|---|---|---|
TemplateId | O 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. |
TemplateName | O nome que você digitou na Etapa 1. | Alternativa para pesquisa. Renomear o modelo interrompe as chamadas que o referenciam pelo nome. |
ParseId | Um 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. |
docName | Fonte PDF nome do arquivo | Utilizado para rastreamento e mensagens de erro. |
docContent | Fonte PDF codificado como Base64 | O arquivo a ser analisado. |
async | false para síncrono, true para votação | Controla 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.
- Uma fatura de fornecedor PDF chega em uma pasta de e-mail ou na nuvem monitorada.
- Make, Zapier, Power Automate, ou n8n chama o Parse Document com o seu TemplateId.
- A estrutura JSON O resultado (número da fatura, valor total, data da fatura) é anexado como uma linha em Google Sheets ou Excel.
- O departamento de contabilidade revisa e aprova diretamente da planilha.
- Um cliente carrega um formulário preenchido. PDF preencha o formulário através do seu portal.
- Seu backend chama Parse Document com TemplateId e o Base64 PDF.
- O analisado JSON é mapeado para uma instrução INSERT no banco de dados, com uma coluna por chave de modelo.
- Um e-mail de confirmação é enviado ao cliente usando o nome e o número de referência analisados.
- Uma única pasta monitorada recebe documentos variados (faturas, pedidos, contratos).
- A JavaScript A chave de expressão no modelo retorna o tipo de documento (veja o Exemplo 2 acima).
- Seu fluxo de trabalho encaminha cada arquivo para o sistema subsequente correto com base no tipo retornado.
- 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.