Automações

Gera, une ou extrai texto de documentos PDF.

Nó PDF

O nó PDF (pdf_sdk) executa operações de PDF no servidor usando pdf-parse (extração de texto) e pdf-lib (criar e unir). Entrada e saída de conteúdo binário usam strings Base64 para passar arquivos de webhooks, respostas HTTP ou passos anteriores do workflow.

Disponível na paleta Ferramentas em Automações.

Workflows > editor > seletor de modo do nó PDF Figura 1: Nó PDF — seletor de modo e campos específicos por modo

O que faz

O nó executa um dos três modos selecionados em Modo (pdf_mode):

ModoValorMotorFinalidade
Ler textoextract_textpdf-parsePDF → texto puro + contagem de páginas
Criar PDFcreate_textpdf-libDocumento de texto simples → PDF em Base64
Unir PDFsmergepdf-libVários PDFs em Base64 → um único PDF em Base64
PropriedadeValor
ID do tipo de nópdf_sdk
Rótulo na paletaPDF
Executorpdf_sdk
API externaNenhuma — processamento local no servidor
CredenciaisNão exigidas

Como configurar

Passo 1 — Adicionar o nó

  1. Abra Automações e edite seu workflow
  2. Na paleta, abra a categoria Ferramentas
  3. Arraste PDF para o canvas
  4. Escolha o modo que corresponde ao passo (extrair, criar ou unir)

Passo 2 — Selecionar o modo

Abra Modo (pdf_mode):

  • Ler texto (PDF → texto)extract_text
  • Criar PDF (texto simples)create_text
  • Unir PDFs (vários Base64 → um)merge

Apenas os campos do modo selecionado precisam de valor; os demais são ignorados.


Modo: Ler texto (extract_text)

Extrai todo o conteúdo de texto de um arquivo PDF codificado em Base64.

Campos

CampoObrigatórioDescrição
PDF (Base64) (pdf_base64)SimString Base64 bruta do arquivo .pdf (sem prefixo data:application/pdf;base64, a menos que o passo anterior sempre inclua — prefira Base64 puro)

Aceita variáveis:

{{trigger.body.document_base64}}
{{http_1.data.file_content}}
{{variables.uploaded_pdf_b64}}

Saída

SaídaDescrição
textTexto puro extraído (pode incluir quebras de linha; layout não é preservado)
numpagesNúmero de páginas analisadas
infoObjeto de metadados do PDF do pdf-parse (título, autor, etc., quando presentes)

Exemplo nos passos seguintes:

{{pdf_1.text}}
{{pdf_1.numpages}}

Limitações: PDFs só de imagem/scan sem OCR retornam pouco ou nenhum texto. Layouts complexos (várias colunas, tabelas) podem não extrair bem.


Modo: Criar PDF (create_text)

Monta um PDF simples com título opcional e texto do documento. O motor usa Helvetica / Helvetica Bold, quebra linhas longas e adiciona páginas quando o conteúdo transborda.

Campos

CampoObrigatórioDescrição
Título (opcional) (pdf_title)NãoTítulo em negrito no topo da primeira página
Texto do documento (pdf_text_content)RecomendadoCorpo do texto; caracteres de nova linha viram novas linhas no PDF

Exemplo:

Título: Recibo #{{variables.order_id}}
Texto do documento: Cliente: {{variables.customer_name}}
Total: R$ {{variables.total}}

Obrigado pela compra.

Saída

SaídaDescrição
pdf_base64PDF gerado como string Base64
page_countNúmero de páginas no documento gerado

Use {{pdf_1.pdf_base64}} em upload HTTP posterior, nó Google Drive ou decodifique em JavaScript se necessário.

Limitações: Apenas texto puro — sem imagens, fontes customizadas ou HTML rico. Para layouts com marca, gere PDFs externamente e passe Base64 no modo unir ou armazene via HTTP.


Modo: Unir PDFs (merge)

Concatena dois ou mais arquivos PDF (em ordem) em um único documento.

Campos

CampoObrigatórioDescrição
Lista de PDFs (JSON) (pdf_base64_list)SimArray JSON de strings Base64, ex.: ["base64_pdf_1", "base64_pdf_2"]

Mínimo de 2 strings não vazias. A ordem no array é preservada na saída.

Com variáveis:

["{{variables.contract_b64}}", "{{variables.annex_b64}}"]

Ou monte o array em um nó JavaScript:

return {
  parts: [variables.part_a, variables.part_b, variables.part_c].filter(Boolean)
};

Depois:

{{js_1.result.parts}}

(passado em pdf_base64_list como JSON)

Saída

SaídaDescrição
pdf_base64PDF unido em Base64
page_countTotal de páginas após a união
merged_countNúmero de PDFs de origem unidos

Trabalhando com Base64

Bytes de PDF circulam no workflow como texto Base64. Padrões comuns:

De upload via webhook

Muitas integrações enviam file_base64 ou similar em JSON. Mapeie diretamente:

pdf_base64: {{trigger.body.file_base64}}

Remover prefixo data-URI (JavaScript)

Se o upstream envia data:application/pdf;base64,JVBERi0...:

const raw = trigger.body.pdf || '';
const b64 = raw.includes(',') ? raw.split(',')[1] : raw;
variables.pdf_clean = b64;
return { pdf_base64: b64 };

Considerações de tamanho

PDFs grandes aumentam memória de execução e tamanho de log. Corte ou rejeite arquivos muito grandes em um passo inicial de Condição ou JavaScript quando possível.

Dicas e boas práticas

  • Escolha o modo certo primeiro — o subtítulo no canvas atualiza (Ler texto / Criar PDF / Unir PDFs) para identificar passos rapidamente.
  • Valide Base64 cedo — Base64 inválido gera PDF: pdf_base64 não é Base64 válido; corrija a codificação upstream antes do nó PDF.
  • Extrair → Condição → rotear — use palavras-chave em {{pdf_1.text}} para classificar documentos (nota fiscal vs. contrato).
  • Criar → SMTP / Drive — combine o modo criar com SMTP (link no e-mail) ou Google Drive para armazenamento.
  • Unir antes de assinar — combine capa gerada + PDF de template antes de Clicksign ou Zapsign quando esses nós esperam um único arquivo.
  • Não dependa da extração para tabelas — parse dados estruturados no sistema de origem quando disponível, em vez de raspar texto do PDF.

Exemplos de uso

Exemplo 1 — Classificar documento enviado

Trigger: Webhook — cliente envia PDF.

Fluxo:

  1. PDF (extrair) — pdf_base64: {{trigger.body.document}}
  2. Condição{{pdf_1.text}} contém NOTA FISCAL
  3. Ramo A → atualização no CRM "nota fiscal recebida"
  4. Ramo B → repasse ao Agente para revisão manual

Exemplo 2 — Gerar e enviar recibo por e-mail

Trigger: Webhook de pagamento.

Fluxo:

  1. Variávelorder_id, customer_name, total
  2. PDF (criar) — título e corpo das variáveis
  3. JavaScript — opcional: metadados junto com pdf_base64
  4. SMTP — corpo HTML com detalhes do pedido (PDF como link se hospedado em outro lugar, pois o nó SMTP não tem campo de anexo)

Exemplo 3 — Unir contrato + termos

Fluxo:

  1. HTTP — busca PDF de termos em Base64 no CDN
  2. Variável — armazena como terms_b64
  3. PDF (unir) — ["{{variables.contract_b64}}", "{{variables.terms_b64}}"]
  4. Zapsign — envia {{pdf_1.pdf_base64}} como conteúdo do documento

FAQ

Por que "PDF: informe pdf_base64"?

O modo extrair recebeu string vazia após resolução de variáveis. Verifique o nome do campo no webhook e se o caminho de saída do nó anterior está correto.

Por que "modo unir exige ao menos 2 strings Base64"?

O modo unir exige array JSON com pelo menos duas entradas Base64 não vazias.

Por que o texto extraído está vazio?

O PDF pode ser baseado em imagem (scan). Use OCR upstream ou solicite PDFs com texto nativo no sistema de origem.

Posso criar PDFs com imagens ou HTML?

Não com este nó — o modo criar é só texto puro. Use serviço externo ou ferramenta de template e passe Base64 nos modos extrair ou unir.

A união preserva bookmarks ou formulários?

pdf-lib copia páginas; recursos avançados dos arquivos de origem podem não persistir totalmente. Teste com seus documentos.

Quais saídas existem por modo?

ModoSaídas principais
extract_texttext, numpages, info
create_textpdf_base64, page_count
mergepdf_base64, page_count, merged_count

Erro de modo inválido?

Apenas extract_text, create_text e merge são válidos. Erros de digitação em pdf_mode ou variáveis não resolvidas podem causar PDF: modo inválido.

Artigos relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda