Text extraction benchmarks

The plain-text speed figures that used to be on this page were pre-release estimates. They were withdrawn on 2026-10-12, and measured, dated extraction results now live on the Docling comparison page.

Benchmark code

PDFluent (Rust)
use pdfluent::PdfDocument;

fn extract_all(paths: &[&str]) -> pdfluent::Result<()> {
    for path in paths {
        let doc = PdfDocument::open(path)?;
        for i in 0..doc.page_count() {
            let _text = doc.page(i)?.text()?;
        }
    }
    Ok(())
}
PyMuPDF (Python)
import fitz  # pymupdf

def extract_all(paths):
    for path in paths:
        doc = fitz.open(path)
        for page in doc:
            _ = page.get_text()
        doc.close()

Note: This page used to show plain-text speed figures for PDFluent, PyMuPDF and pdfminer.six. Those were pre-release estimates and were withdrawn on 2026-10-12. Measured, dated extraction results are on /benchmarks/text-extraction-vs-docling/.