- 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
24 lines
855 B
Rust
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);
|
|
}
|
|
}
|
|
}
|