원클릭으로
Extract text and tables from PDF files. Use when a user uploads a PDF document that needs to be processed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Extract text and tables from PDF files. Use when a user uploads a PDF document that needs to be processed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Plan page-level PPT outlines, audience adaptation, and visual-mode semantics for the deck.
PPT visual production rules, local enhancements, and vendor skill composition for theme, assets, and slide generation.
Extract text and tables from Word (.docx) files. Use when a user uploads a Word document that needs to be processed.
Extract text and tables from Markdown (.md) files. Use when a user uploads a Markdown document that needs to be processed.
Extract text and tables from PowerPoint (.pptx) files. Use when a user uploads a PPTX presentation that needs to be processed.
Summarize and structure raw document text (PDF/Word) into a format optimized for PPT generation. Use when the user uploads a document and wants to generate a presentation from it.
| name | |
| description | Extract text and tables from PDF files. Use when a user uploads a PDF document that needs to be processed. |
Extract readable text and structured tables from PDF files. This skill is designed to feed extracted content into downstream processing (e.g., document summarization for PPT generation).
.pdf fileimport pdfplumber
text_parts = []
tables = []
with pdfplumber.open("document.pdf") as pdf:
for page in pdf.pages:
# Extract text (preserves layout better than pypdf)
t = page.extract_text()
if t:
text_parts.append(t.strip())
# Extract tables as 2D arrays
page_tables = page.extract_tables()
for pt in page_tables:
if pt and len(pt) >= 2:
tables.append(pt)
Why pdfplumber first:
from pypdf import PdfReader
reader = PdfReader("document.pdf")
text_parts = []
for page in reader.pages:
t = page.extract_text()
if t:
text_parts.append(t.strip())
Use pypdf when:
# Requires: pip install pytesseract pdf2image
import pytesseract
from pdf2image import convert_from_path
images = convert_from_path('scanned.pdf')
text = ""
for i, image in enumerate(images):
text += f"Page {i+1}:\n"
text += pytesseract.image_to_string(image)
text += "\n\n"
When to use OCR:
pdftotext or pdfplumber returns empty text# Fast plain text extraction
pdftotext input.pdf output.txt
# Preserve layout
pdftotext -layout input.pdf output.txt
# Specific page range
pdftotext -f 1 -l 5 input.pdf output.txt
| Problem | Solution |
|---|---|
| Empty text (scanned PDF) | Use OCR (Step 3) |
| Garbled text | Check if PDF is encrypted or uses non-standard encoding |
| Tables not extracting | Try page.extract_tables(settings={"vertical_strategy": "lines"}) |
| Memory issues on large PDFs | Process page-by-page in a loop |
| Images instead of text | OCR or skip if images are decorative |
For PPT generation pipeline:
"\n\n".join(text_parts)len(pdf.pages)Return (raw_text: str, tables: list[list[list[str]]], page_count: int):
raw_text: all pages joined with double newlinestables: list of tables, each table is list[list[str]] (rows → cells)page_count: total number of pages