spectre_parse 1.0.0

Lazy PDF parser — xref-only at open(), objects materialize on demand. Read-only. Powers the spectre_pdf extraction crate.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Direct test of named-destination resolution.
use spectre_parse::Document;

fn main() {
    let path = std::env::args().nth(1).expect("usage: trace_resolve_dest <pdf>");
    let bytes = std::fs::read(&path).expect("read");
    let doc = Document::open(&bytes).expect("open");
    let toc = doc.get_toc().expect("get_toc");
    println!("got {} entries", toc.len());
    println!("first 8:");
    for e in toc.iter().take(8) {
        println!("  level={} page={:?} title={:?}", e.level, e.page, e.title);
    }
    let with_page = toc.iter().filter(|e| e.page.is_some()).count();
    println!("with page: {with_page} / {}", toc.len());
}