mioffice-pdf-utils 0.1.0

Lightweight PDF utilities — merge, split, extract pages, read metadata. Pure Rust, no native dependencies.
Documentation
# mioffice-pdf-utils

Lightweight PDF utilities for Rust — merge, split, extract pages, and read metadata. Pure Rust, zero native dependencies.

Built by [MiOffice.ai](https://www.mioffice.ai) — the AI office suite where files never leave your browser.

## Install

```toml
[dependencies]
mioffice-pdf-utils = "0.1"
```

## Usage

```rust
use mioffice_pdf_utils::{merge_pdfs, split_pdf, extract_pages, get_metadata};
use std::fs;

// Merge PDFs
let pdf1 = fs::read("doc1.pdf").unwrap();
let pdf2 = fs::read("doc2.pdf").unwrap();
let merged = merge_pdfs(&[&pdf1, &pdf2]).unwrap();
fs::write("merged.pdf", merged).unwrap();

// Split into single pages
let pages = split_pdf(&fs::read("document.pdf").unwrap()).unwrap();

// Extract pages 1, 3, 5 (0-indexed)
let extracted = extract_pages(&fs::read("document.pdf").unwrap(), &[0, 2, 4]).unwrap();

// Read metadata
let meta = get_metadata(&fs::read("document.pdf").unwrap()).unwrap();
println!("Title: {:?}, Pages: {}", meta.title, meta.page_count);
```

## API

| Function | Description |
|----------|-------------|
| `merge_pdfs(pdfs)` | Combine multiple PDFs into one |
| `split_pdf(pdf)` | Split into single-page PDFs |
| `extract_pages(pdf, indices)` | Extract specific pages (0-indexed) |
| `get_metadata(pdf)` | Read title, author, page count, page sizes |

## Why This Exists

[MiOffice.ai](https://www.mioffice.ai) provides 67+ file processing tools that run 100% in the browser — no uploads, no signup, no cloud. This crate extracts our PDF utilities for Rust developers who need the same capabilities.

## License

MIT — [JSVV SOLS LLC](https://www.mioffice.ai)