```rust title="cli_with_config.rs" use std::process::Command; use anyhow::Result; fn extract_with_config(file_path: &str, config_path: &str) -> Result { let output = Command::new("kreuzberg") .args(&[ "extract", file_path, "--config", config_path, "--format", "json", ]) .output()?; if !output.status.success() { let stderr = String::from_utf8_lossy(&output.stderr); anyhow::bail!("CLI error: {}", stderr); } let result: serde_json::Value = serde_json::from_slice(&output.stdout)?; Ok(result) } fn main() -> Result<()> { let config_file = "kreuzberg.toml"; let document = "document.pdf"; println!("Extracting {} with config {}", document, config_file); let result = extract_with_config(document, config_file)?; println!("Content length: {}", result["content"].as_str().unwrap_or("").len()); println!("Format: {}", result["format"].as_str().unwrap_or("unknown")); println!("Languages: {}", result["languages"].to_string()); Ok(()) } ```