pdftract/crates/pdftract-core/examples/test_debug.rs
jedarden c7acac5d1f feat(pdftract-4li3d): implement security constraints for serve mode
- Add startup banner with NO AUTH warning
- Add --max-decompress-gb CLI flag (default 1 GB)
- Add hard cap for --max-upload-mb at 4096 MB (4 GiB)
- Add max_decompress_gb form field parsing
- Update CLI help text with security model documentation
- Add comprehensive security model docs to serve.rs rustdoc

This implements the security constraints required by the bead:
- No built-in authentication (deploy behind reverse proxy)
- No file-path parameters (multipart upload only)
- Hard caps to prevent integer overflow
- Visible security warnings at startup

Closes: pdftract-4li3d
2026-05-26 18:47:51 -04:00

24 lines
855 B
Rust

use pdftract_core::extract::extract_pdf;
use pdftract_core::options::{ExtractionOptions, ReceiptsMode};
fn main() {
let pdf_path = std::path::Path::new("tests/fixtures/tagged-suspects-false.pdf");
let options = ExtractionOptions::with_receipts(ReceiptsMode::Lite);
match extract_pdf(pdf_path, &options) {
Ok(result) => {
println!("Pages: {}", result.pages.len());
println!("Fingerprint: {}", result.fingerprint);
println!("Receipts mode: {:?}", result.metadata.receipts_mode);
if !result.pages.is_empty() {
let page = &result.pages[0];
println!("Page 0 spans: {}", page.spans.len());
println!("Page 0 blocks: {}", page.blocks.len());
}
}
Err(e) => {
println!("Error: {:?}", e);
}
}
}