Pular para o conteúdo
Skillpedia
Escrita77 mil · #1692

pdf

Permite ao agente manipular arquivos PDF, como extrair texto, criar novos PDFs ou preencher formulários. É útil para processar ou gerar documentos em PDF automaticamente.

O que ela faz

Esta ferramenta ajuda você a trabalhar com arquivos PDF. Você pode usá-la para extrair texto, juntar vários PDFs em um só, dividir um PDF em partes menores, preencher formulários e até criar novos PDFs do zero.

Quando usar

  • ✓Quando você precisa tirar o texto de um PDF para usar em outro lugar.
  • ✓Quando você quer combinar vários documentos PDF em um único arquivo.
  • ✓Quando você precisa dividir um PDF longo em vários arquivos menores.

Exemplo do que pedir para a IA

“Junte estes dois 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/ComposioHQ/awesome-claude-skills/blob/master/document-skills/pdf/SKILL.md

Mensagem pronta para colar

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

Ela usa programas de computador que sabem ler e modificar arquivos PDF. Você diz o que quer fazer, como juntar ou extrair texto, e ela executa as instruções para criar ou alterar o arquivo PDF.

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 ComposioHQ/awesome-claude-skills --skill pdf

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/document-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 abrange 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)

Ferramentas de Linha de Comando

pdftotext (poppler-utils)

# Extract text
pdftotext input.pdf output.txt

# Extract text preserving layout
pdftotext -layout input.pdf output.txt

# Extract specific pages
pdftotext -f 1 -l 5 input.pdf output.txt  # Pages 1-5

qpdf

# Merge PDFs
qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf

# Split pages
qpdf input.pdf --pages . 1-5 -- pages1-5.pdf
qpdf input.pdf --pages . 6-10 -- pages6-10.pdf

# Rotate pages
qpdf input.pdf output.pdf --rotate=+90:1  # Rotate page 1 by 90 degrees

# Remove password
qpdf --password=mypassword --decrypt encrypted.pdf decrypted.pdf

pdftk (se disponível)

…

Perguntas frequentes

Como extraio tabelas de um PDF?

Você pode usar a ferramenta 'pdfplumber' para extrair dados de tabelas em formato de lista ou até mesmo em uma planilha Excel.

Posso criar um PDF do zero?

Sim, com a ferramenta 'reportlab', você pode criar novos PDFs e adicionar texto, linhas e até mesmo múltiplas páginas.

Como coloco uma marca d'água em um PDF?

Você pode usar a ferramenta 'pypdf' para adicionar uma imagem ou outro PDF como marca d'água em todas as páginas do seu documento.

Detalhes

Descrição original do autor

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

repo: ComposioHQ/awesome-claude-skills

Popularidade

Estrelas no GitHub
77 mil
Posição no ranking
#1692
Licença
—
Atualizada em
18/09/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas