Communitygithub.com

Extração de Texto de PDF

Extraia texto e linhas simples semelhantes a tabelas de um PDF para uso downstream em IAs, sem binários de OCR. Use quando o usuário solicitar a leitura de um PDF, converter um PDF em texto, extrair tabelas simples de extratos/relatórios ou alimentar conteúdo de PDF em um pipeline de LLM.

O que é Extração de Texto de PDF?

Esta skill capacita agentes de IA a extrair texto selecionável de PDFs digitais sem depender de binários de OCR, tornando-a ideal para pipelines de LLM, sumarização e extração estruturada. Ela utiliza bibliotecas Python puras como pypdf ou pdfminer.six, preserva limites de página para citação e inclui um detector simples de tabelas baseado em linhas para capturar dados tabulares brutos. A skill falha claramente quando o PDF não possui texto extraível, garantindo que nenhuma consulta vazia seja enviada downstream. Projetada para desenvolvedores que trabalham com agentes como Claud Code, Cursor ou Codex, ela suporta tarefas como converter extratos financeiros ou relatórios em texto amigável para IA, com um exemplo concreto e padrões de implementação claros fornecidos no SKILL.md.

Funciona com~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/pdf-text-extract

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Extração de Texto de PDF faz?

Use esta skill quando um workflow precisar de texto legível por máquina de um PDF digital antes de sumarização, classificação ou extração estruturada. O helper utiliza bibliotecas Python puras para PDF quando disponíveis e inclui um detector simples de tabelas baseado em linhas para limpeza downstream.

Quando invocar

  • Usuário diz: "extrair texto deste PDF", "alimentar um PDF para IA", "extrair tabelas deste relatório", "ler este extrato".
  • O PDF já contém texto selecionável e não requer OCR.

Quando NÃO invocar

  • O PDF é uma imagem escaneada; use um workflow de OCR.
  • O usuário precisa de reconstrução de tabela perfeita com células mescladas e fidelidade de layout.

Exemplo concreto

Entrada do usuário:

Extraia o texto e as tabelas aproximadas deste PDF para que o Gemini possa resumir.

Saída:

# Copie assets/extract.py para o seu projeto, depois:
from extract import extract_pdf

doc = extract_pdf("downloads/relatorio.pdf")
print(doc["text"][:2000])
for table in doc["tables"]:
    print(table["page"], table["rows"][:3])

Instale pypdf ou pdfminer.six no projeto alvo. Nenhum binário de OCR é necessário, e o helper falha claramente quando o PDF não tem texto extraível.

Padrão a aplicar

  1. Prefira extração de texto digital primeiro; não adicione OCR a menos que a fonte seja escaneada.
  2. Preserve limites de página para que prompts downstream possam citar números de página.
  3. Mantenha a extração de tabelas simples: divida linhas em tabulações ou espaços repetidos, depois deixe que uma etapa de schema posterior normalize colunas.
  4. Limite o texto enviado a um LLM por página/intervalo quando o PDF for longo.
  5. Falhe ruidosamente quando nenhum texto for encontrado, em vez de enviar um prompt vazio downstream.

Referência: assets/extract.py.

Fonte

Destilado do uso em produção nos projetos de automação do autor. v1.0.0. Veja também: [[gemini-structured-output]], [[csv-report-writer]], [[s3-uploader]].

→ Construa o bot executável completo com Trawlkit.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Schedule any script to run on a recurring schedule on Windows (Task Scheduler) or Linux (cron) - register, list, and remove jobs from one command, with logging to a file and a guard against overlapping runs. Use for schedule a script, run nightly, set up a cron job, windows task scheduler, or run on a timer.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Strip HTML to clean plain text with the standard library only (no BeautifulSoup/lxml): drops script/style, turns block tags into line breaks, and collapses whitespace. Use when the user wants readable text from an HTML page/email, to clean scraped HTML before sending it to an LLM, or to build a text index from web content.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

Habilidades Relacionadas