# pdfboss > pdfboss is a PDF engine written from scratch in safe Rust, with Python bindings and a CLI. It extracts text and Markdown from PDFs with layout analysis (headings, lists, tables, a selectable reading order, styled spans), renders pages to PNG, PPM, BMP or JPEG, extracts embedded images, reads interactive forms, bookmarks, page labels and attachments, merges, splits, rotates, watermarks and encrypts existing documents, creates PDFs (including Markdown to CSS-themed PDF), and reads documents asynchronously over HTTP range requests. No C dependencies, its own JPEG 2000, JBIG2, CCITT and ICC decoders, dual-licensed MIT OR Apache-2.0. Install with `pip install pdfboss`, `cargo add pdfboss-core`, or `cargo install pdfboss-cli`. ## Docs - [Documentation book](https://pdfboss.dev/docs/): installation, guides for every surface and CLI, Python and Rust reference chapters - [Extracting text guide](https://pdfboss.dev/docs/guide/text.html): layout analysis, reading order, form feeds and per-page extraction - [Markdown extraction guide](https://pdfboss.dev/docs/guide/markdown.html): how headings, lists and tables are inferred from the page layout - [Rendering guide](https://pdfboss.dev/docs/guide/rendering.html): rasterizing pages, output formats, font tiers, annotations, transparency groups and render reports - [Forms, bookmarks and attachments](https://pdfboss.dev/docs/guide/structure.html): reading form fields, the outline, page labels, named destinations and embedded files - [Editing guide](https://pdfboss.dev/docs/guide/editing.html): metadata and overlays as incremental updates - [Assembling guide](https://pdfboss.dev/docs/guide/assembling.html): merging, splitting, rotating, rewriting and the Importer - [Encryption guide](https://pdfboss.dev/docs/guide/encryption.html): opening, encrypting and decrypting with RC4 and AES - [ISO 32000 conformance](https://pdfboss.dev/docs/reference/iso32000.html): every clause of the standard with the status pdfboss claims for it, checked in CI - [Python reference](https://pdfboss.dev/docs/reference/python.html): the classes, the md and write submodules, errors and threading - [Rust reference](https://pdfboss.dev/docs/reference/rust.html): the crate workspace and where to start for each task - [CLI reference](https://pdfboss.dev/docs/reference/cli.html): every subcommand, flag and exit code ## Pages - [Home](https://pdfboss.dev/): what pdfboss is, headline benchmark numbers and the toolkit at a glance - [Benchmarks](https://pdfboss.dev/benchmarks): text extraction, open and parse, rendering and scanned-document throughput against PyMuPDF, pypdfium2, pdfplumber and pdf_oxide, plus Markdown quality on opendataloader-bench - [Python](https://pdfboss.dev/python): the Python API: extract text and Markdown, render pages, pull images, read forms and bookmarks, merge, split and encrypt, read async from URLs, create PDFs - [Rust crates](https://pdfboss.dev/rust): the crate workspace: parsing, extraction, rendering, codecs, async I/O and the deterministic writer - [Command line](https://pdfboss.dev/cli): the pdfboss binary: convert, inspect, edit and create PDFs from the terminal, on local files or URLs - [PDF to Markdown](https://pdfboss.dev/pdf-to-markdown): converting PDFs to Markdown from Python, Rust or the CLI, and what the output preserves - [pdfboss vs PyMuPDF](https://pdfboss.dev/vs/pymupdf): speed, licensing (MIT OR Apache-2.0 against AGPL-3.0) and features, with a migration cheat sheet - [pdfboss vs pypdfium2](https://pdfboss.dev/vs/pypdfium2): rendering throughput, text extraction and API scope against the PDFium bindings - [pdfboss vs pdfplumber](https://pdfboss.dev/vs/pdfplumber): speed and rendering against pdfplumber's table extraction and per-character detail - [pdfboss vs pypdf](https://pdfboss.dev/vs/pypdf): the reading path against pypdf's document manipulation: splitting, merging and encryption - [PyMuPDF alternative](https://pdfboss.dev/pymupdf-alternative): a permissively licensed PyMuPDF alternative for commercial and closed-source software - [PyMuPDF commercial use](https://pdfboss.dev/pymupdf-commercial-use): what the AGPL-3.0 requires of commercial and SaaS users of PyMuPDF