Pdf drawing extraction
Extracts vector graphics, colors, and text from PDF files using PyMuPDF to analyze calendars or visual schedules.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill pdf-drawing-extractionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.4 KB, 295 tokens by cl100k_base, as published. Nobody here has run it
PDF Drawing Extraction with PyMuPDF
This skill demonstrates how to use PyMuPDF (fitz) to extract vector drawings and rectangles from a PDF. This is particularly useful for extracting calendar blocks and colors.
Setup
Ensure PyMuPDF is installed:
pip install PyMuPDF
Basic Usage
import fitz
def extract_colored_blocks(pdf_path):
doc = fitz.open(pdf_path)
page = doc[0] # first page
# Get all drawings
drawings = page.get_drawings()
blocks = []
for d in drawings:
rect = d.get('rect')
color = d.get('color')
fill = d.get('fill')
# Determine color (RGB values typically 0.0 to 1.0)
# Assuming fill color is used for block background
if fill:
r, g, b = fill
is_blue = (b > r and b > g) # basic blue check
blocks.append({
'rect': rect,
'is_blue': is_blue,
'fill': fill
})
return blocks
This extracts bounding boxes (fitz.Rect) and their associated fill colors. You can correlate these boxes with text in the same PDF by using page.get_text("dict") or checking overlaps between text rectangles and drawing rectangles.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.