run2_document-text-extraction
Extract text from PDF, PPTX, and DOCX files for content classification, with error handling and fallback strategies.
- License 许可
- MIT
- 最近更新
- 2026-10-02
- Stars
- ★ 92
- Forks
- 7
01 前言 Front Matter
- name
- run2_document-text-extraction
- description
- Extract text from PDF, PPTX, and DOCX files for content classification, with error handling and fallback strategies.
03 SKILL.md 正文
Document Text Extraction (Improved)
Libraries
PyPDF2for PDF text extractionpython-pptxfor PowerPoint text extractionpython-docxfor Word document text extraction
Installation
pip3 install PyPDF2 python-pptx python-docx --break-system-packages
Key Lessons from Round 1
- Read enough pages: 3 pages is usually sufficient for classification, but some papers have long introductions. Consider reading more pages for borderline cases.
- Error handling: Always wrap extraction in try/except - some files may be corrupted.
- Empty text handling: PyPDF2 may return empty strings for scanned PDFs. Have a fallback plan.
PDF Extraction
import PyPDF2
def extract_pdf_text(filepath, max_pages=3):
"""Extract text from first few pages of a PDF."""
try:
with open(filepath, 'rb') as f:
reader = PyPDF2.PdfReader(f)
text = ""
for page in reader.pages[:max_pages]:
text += page.extract_text() or ""
return text
except Exception:
return ""
PPTX Extraction
from pptx import Presentation
def extract_pptx_text(filepath):
"""Extract all text from slides including shapes and tables."""
try:
prs = Presentation(filepath)
text = ""
for slide in prs.slides:
for shape in slide.shapes:
if hasattr(shape, "text"):
text += shape.text + "\n"
# Also check tables
if shape.has_table:
for row in shape.table.rows:
for cell in row.cells:
text += cell.text + " "
return text
except Exception:
return ""
DOCX Extraction
from docx import Document
def extract_docx_text(filepath):
"""Extract text from all paragraphs in a Word document."""
try:
doc = Document(filepath)
return "\n".join([p.text for p in doc.paragraphs])
except Exception:
return ""
04 同仓库更多 Skills
object_counter
Count occurrences of an object in the image using computer vision algorithm.
travel-planning-workflow
Invoke this skill when performing travel planning. It defines a structured workflow for generating itineraries. Following this workflow is essential to ensure the final plan satisfies user requirements.
bundled-dataset-search-tool
invoke this skill when you need to perform database search for travel planning. This skill provides some useful pre-packaged tools to look up accommodations, attractions, cities, driving distance, flights, and restaurants from the bundled dataset.
glm-output
Output-processing guidance for GLM tasks. Especially useful after glm-basics and glm-calibration when you need verifier-matching metrics from output.nc and a final /root/metrics.json.
glm-calibration
Calibration guidance for GLM tasks. Often most effective after glm-basics has clarified the setup; glm-output is the companion skill for exact final metric computation.
glm-basics
A good starting point for GLM calibration tasks. Use to inspect glm3.nml, confirm how GLM runs, and identify the relevant files before moving on to calibration and output evaluation.