fn main() {
let args: Vec<String> = std::env::args().collect();
if args.len() < 2 {
eprintln!("Usage: {} <pdf-file>", args[0]);
std::process::exit(1);
}
let lib = rpdfium::Library::new();
let opts = rpdfium::OpenOptions::default();
let doc = rpdfium::Document::open_file(&lib, &args[1], &opts).expect("failed to open PDF");
println!("Pages: {}", doc.page_count());
for i in 0..doc.page_count() {
let page = doc.page(i).expect("failed to get page");
match page.text() {
Ok(text_page) => {
let text = text_page.all_page_text();
println!("--- Page {} ({} chars) ---", i + 1, text.len());
println!("{}", text);
}
Err(e) => {
eprintln!("Page {}: text extraction failed: {}", i + 1, e);
}
}
}
}