run2_pdf-text-extraction
Extract text from PDF files using PyPDF2 with pdfplumber fallback; optimized for title/abstract extraction for classification.
- License 许可
- MIT
- 最近更新
- 2026-10-02
- Stars
- ★ 93
- Forks
- 8
01 前言 Front Matter
- name
- run2_pdf-text-extraction
- description
- Extract text from PDF files using PyPDF2 with pdfplumber fallback; optimized for title/abstract extraction for classification.
03 SKILL.md 正文
PDF Text Extraction Skill (Improved)
Overview
Extract text from PDF files for content analysis. The first 3-4 pages contain title, abstract, and introduction — sufficient for classification.
Installation
pip install PyPDF2 pdfplumber --break-system-packages
Key Insight
- PyPDF2 is faster but may miss some text
- pdfplumber handles complex layouts better
- For classification, extracting title + abstract (first 2 pages) is usually sufficient
- Always use both libraries with fallback for robustness
Robust Extraction Function
import PyPDF2
import pdfplumber
def extract_pdf_text(filepath, max_pages=4):
"""Extract text from PDF, trying PyPDF2 first, then pdfplumber fallback."""
text = ""
try:
with open(filepath, 'rb') as f:
reader = PyPDF2.PdfReader(f)
for page in reader.pages[:max_pages]:
try:
page_text = page.extract_text()
if page_text:
text += page_text + "\n"
except:
pass
except Exception:
pass
# If PyPDF2 didn't get much, try pdfplumber
if len(text.strip()) < 200:
try:
with pdfplumber.open(filepath) as pdf:
for page in pdf.pages[:max_pages]:
try:
page_text = page.extract_text()
if page_text:
text += page_text + "\n"
except:
pass
except Exception:
pass
return text
Notes
- Some PDFs with score=0 may need manual review — check the title from the first few lines
- arXiv PDFs generally work well with both libraries
- PDFs with equations may have garbled text but keywords like "trapped ion", "DNA" still appear
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.