Skip to content
Back to skills

Large Reader

ASecurity

Memory-efficient PDF processing library for large files exceeding 100MB and 1000 pages

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
toolspythongobashgitapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 24, 2026

npx -y skills add vamseeachanta/workspace-hub --skill large-reader --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Large Reader?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Large Reader
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-large-reader/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-large-reader)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pdf-large-reader
version: "1.0.0"
category: data
description: "Memory-efficient PDF processing library for large files exceeding 100MB and 1000 pages"
type: reference
capabilities: []
requires: []
see_also: []
tags: []
---

# pdf-large-reader Skill

Memory-efficient PDF processing library for large files (100MB+, 1000+ pages).

## Repository

- **Location:** `/mnt/github/workspace-hub/pdf-large-reader`
- **GitHub:** https://github.com/vamseeachanta/pdf-large-reader
- **Coverage:** 93.58% (215 tests)

## Installation

```bash
cd /mnt/github/workspace-hub/pdf-large-reader
pip install -e .
```

## Quick Usage

### Python API

```python
from pdf_large_reader import process_large_pdf, extract_text_only

# Simple text extraction
text = extract_text_only("large_document.pdf")

# Full processing with options
result = process_large_pdf(
    "document.pdf",
    output_format="generator",  # "generator", "list", or "text"
    extract_images=True,
    extract_tables=True
)

# Stream pages for memory efficiency
for page in result:
    print(f"Page {page['page_num']}: {page['text'][:100]}...")
```

### CLI Tool

```bash
# Extract text
pdf-large-reader extract document.pdf

# Extract with options
pdf-large-reader extract document.pdf --output-format text --extract-images

# Get PDF info
pdf-large-reader info document.pdf
```

## Key Features

| Feature | Description |
|---------|-------------|
| **Streaming** | Generator output for memory efficiency |
| **Auto Strategy** | Intelligent chunk sizing based on file size |
| **Multi-format** | Text, images, tables, metadata extraction |
| **Progress** | Built-in progress callbacks |
| **AI Fallback** | Claude integration for complex extraction |

## Output Formats

### Generator (Streaming) - Default
```python
for page in process_large_pdf("doc.pdf", output_format="generator"):
    # Process one page at a time - memory efficient
    handle_page(page)
```

### List
```python
pages = process_large_pdf("doc.pdf", output_format="list")
# All pages in memory - use for smaller files
```

### Text
```python
text = process_large_pdf("doc.pdf", output_format="text")
# Plain text concatenation
```

## When to Use

- Processing PDFs > 50MB
- Batch processing many PDFs
- Extracting content from 100+ page documents
- Memory-constrained environments
- Streaming PDF content to other systems

## Integration Example

```python
from pdf_large_reader import process_large_pdf
from pathlib import Path

def process_pdf_directory(directory: str):
    """Process all PDFs in a directory efficiently."""
    pdf_dir = Path(directory)

    for pdf_file in pdf_dir.glob("*.pdf"):
        print(f"Processing: {pdf_file.name}")

        # Stream pages to avoid memory issues
        for page in process_large_pdf(str(pdf_file)):
            # Index, analyze, or store each page
            yield {
                "file": pdf_file.name,
                "page": page["page_num"],
                "text": page["text"],
                "images": len(page.get("images", []))
            }
```

## Error Handling

```python
from pdf_large_reader import process_large_pdf
from pdf_large_reader.exceptions import PDFProcessingError

try:
    result = process_large_pdf("document.pdf")
except PDFProcessingError as e:
    print(f"PDF processing failed: {e}")
except FileNotFoundError:
    print("PDF file not found")
```

## Related Skills

- `file-org-standards` - Where to store extracted content
- `logging-standards` - Logging PDF processing operations

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.