Pular para o conteúdo
Skillpedia
Escrita181 mil · #325

pdf

Permite ao agente manipular arquivos PDF de diversas formas. Útil para extrair texto, combinar PDFs, preencher formulários e até OCR.

O que ela faz

Esta ferramenta permite que você trabalhe com arquivos PDF. Você pode ler, juntar, dividir, girar páginas, adicionar marcas d'água, criar novos PDFs, preencher formulários, criptografar, descriptografar, extrair imagens e até mesmo reconhecer texto em PDFs escaneados.

Quando usar

  • ✓Quando você precisa juntar vários documentos PDF em um só.
  • ✓Quando você quer extrair o texto ou tabelas de um arquivo PDF.
  • ✓Quando você precisa criar um novo PDF a partir do zero.

Exemplo do que pedir para a IA

“Junte estes três PDFs em um só.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/anthropics/skills/blob/main/skills/pdf/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/anthropics/skills/blob/main/skills/pdf/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa bibliotecas de programação para manipular os arquivos PDF. Ela pode ler o conteúdo, reorganizar páginas ou até mesmo criar novos documentos PDF com base nas suas instruções.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add anthropics/skills --skill pdf

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Guia de Processamento de PDF

Visão Geral

Este guia aborda operações essenciais de processamento de PDF usando bibliotecas Python e ferramentas de linha de comando. Para recursos avançados, bibliotecas JavaScript e exemplos detalhados, consulte REFERENCE.md. Se você precisar preencher um formulário PDF, leia FORMS.md e siga suas instruções.

Início Rápido

from pypdf import PdfReader, PdfWriter

# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")

# Extract text
text = ""
for page in reader.pages:
    text += page.extract_text()

Bibliotecas Python

pypdf - Operações Básicas

Mesclar PDFs

from pypdf import PdfWriter, PdfReader

writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
    reader = PdfReader(pdf_file)
    for page in reader.pages:
        writer.add_page(page)

with open("merged.pdf", "wb") as output:
    writer.write(output)

Dividir PDF

reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
    writer = PdfWriter()
    writer.add_page(page)
    with open(f"page_{i+1}.pdf", "wb") as output:
        writer.write(output)

Extrair Metadados

reader = PdfReader("document.pdf")
meta = reader.metadata
print(f"Title: {meta.title}")
print(f"Author: {meta.author}")
print(f"Subject: {meta.subject}")
print(f"Creator: {meta.creator}")

Rotacionar Páginas

reader = PdfReader("input.pdf")
writer = PdfWriter()

page = reader.pages[0]
page.rotate(90)  # Rotate 90 degrees clockwise
writer.add_page(page)

with open("rotated.pdf", "wb") as output:
    writer.write(output)

pdfplumber - Extração de Texto e Tabelas

Extrair Texto com Layout

import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        print(text)

Extrair Tabelas

with pdfplumber.open("document.pdf") as pdf:
    for i, page in enumerate(pdf.pages):
        tables = page.extract_tables()
        for j, table in enumerate(tables):
            print(f"Table {j+1} on page {i+1}:")
            for row in table:
                print(row)

Extração Avançada de Tabelas

import pandas as pd

with pdfplumber.open("document.pdf") as pdf:
    all_tables = []
    for page in pdf.pages:
        tables = page.extract_tables()
        for table in tables:
            if table:  # Check if table is not empty
                df = pd.DataFrame(table[1:], columns=table[0])
                all_tables.append(df)

# Combine all tables
if all_tables:
    combined_df = pd.concat(all_tables, ignore_index=True)
    combined_df.to_excel("extracted_tables.xlsx", index=False)

reportlab - Criar PDFs

Criação Básica de PDF

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

c = canvas.Canvas("hello.pdf", pagesize=letter)
width, height = letter

# Add text
c.drawString(100, height - 100, "Hello World!")
c.drawString(100, height - 120, "This is a PDF created with reportlab")

# Add a line
c.line(100, height - 140, 400, height - 140)

# Save
c.save()

Criar PDF com Múltiplas Páginas

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak
from reportlab.lib.styles import getSampleStyleSheet

doc = SimpleDocTemplate("report.pdf", pagesize=letter)
styles = getSampleStyleSheet()
story = []

# Add content
title = Paragraph("Report Title", styles['Title'])
story.append(title)
story.append(Spacer(1, 12))

body = Paragraph("This is the body of the report. " * 20, styles['Normal'])
story.append(body)
story.append(PageBreak())

# Page 2
story.append(Paragraph("Page 2", styles['Heading1']))
story.append(Paragraph("Content for page 2", styles['Normal']))

# Build PDF
doc.build(story)

Subscritos e Sobrescritos

IMPORTANTE: Nunca use caracteres de subscrito/sobrescrito Unicode (₀₁₂₃₄₅₆₇₈₉, ⁰¹²³⁴⁵⁶⁷⁸⁹) em PDFs do ReportLab. As fontes integradas não incluem esses glifos, fazendo com que eles sejam renderizados como caixas pretas sólidas.

Em vez disso, use as tags de marcação XML do ReportLab em objetos Paragraph:

from reportlab.platypus import Paragraph
from reportlab.lib.styles import getSampleStyleSheet

styles = getSampleStyleSheet()

# Subscripts: use <sub> tag
chemical = Paragraph("H<sub>2</sub>O", styles['Normal'])

# Superscripts: use <super> tag
squared = Paragraph("x<super>2</super> + y<super>2</super>", styles['Normal'])

…

Perguntas frequentes

Como eu extraio o texto de um PDF?

Você pode pedir para extrair o texto de um PDF, e a ferramenta usará um programa para ler e apresentar o conteúdo escrito.

Posso juntar vários PDFs?

Sim, você pode fornecer vários arquivos PDF e pedir para que sejam combinados em um único documento.

E se o PDF for uma imagem escaneada?

A ferramenta pode usar reconhecimento óptico de caracteres (OCR) para tentar ler o texto em PDFs que são essencialmente imagens, como documentos escaneados.

Detalhes

Descrição original do autor

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or

repo: anthropics/skills

Popularidade

Estrelas no GitHub
181 mil
Posição no ranking
#325
Licença
—
Atualizada em
09/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas