pub struct PdfRead { ... }
pub fn PdfRead::new() -> PdfRead// Read with all stream data loaded
///|
let pdf = @pdfread.PdfRead::new().pdf_of_input(
user_password=None,
owner_password=None,
input,
)// Streams loaded on-demand
///|
let pdf = @pdfread.PdfRead::new().pdf_of_input_lazy(
user_password=None,
owner_password=None,
input,
)///|
let pdf = @pdfreadfs.PdfReadFs::new().pdf_of_file(
user_password=None,
owner_password=None,
filename="/path/to/document.pdf",
)///|
let pdf = @pdfreadfs.PdfReadFs::new().pdf_of_channel(
user_password=None,
owner_password=None,
channel,
)// With user password
///|
let pdf = @pdfread.PdfRead::new().pdf_of_input(
user_password=Some("secret"),
owner_password=None,
input,
)
// With owner password
///|
let pdf = @pdfread.PdfRead::new().pdf_of_input(
user_password=None,
owner_password=Some("admin123"),
input,
)// Count revisions
///|
let num_revisions = @pdfread.PdfRead::new().revisions(input)
// Read specific revision
///|
let pdf = @pdfread.PdfRead::new().pdf_of_input(
revision=2,
user_password=None,
owner_password=None, // Read second revision
input,
)let method = @pdfread.PdfRead::new().what_encryption(pdf)
match method {
None => println("Not encrypted")
Some(AES128) => println("AES 128-bit")
Some(AES256) => println("AES 256-bit")
Some(ARC4(40)) => println("RC4 40-bit")
Some(ARC4(128)) => println("RC4 128-bit")
_ => ()
}let perms = @pdfread.PdfRead::new().permissions(pdf)
for perm in perms {
match perm {
Print => println("Printing allowed")
Copy => println("Copying allowed")
Edit => println("Editing allowed")
_ => ()
}
}// Enable debug output
///|
let reader = @pdfread.PdfRead::new(read_debug=true)
// Treat all documents as malformed (for testing)
///|
let reader_force_malformed = @pdfread.PdfRead::new(
debug_always_treat_malformed=true,
)
// Raise errors on malformed documents
///|
let reader_strict = @pdfread.PdfRead::new(error_on_malformed=true)try {
let pdf = @pdfread.PdfRead::new().pdf_of_input!(
user_password=None,
owner_password=None,
input,
)
// use pdf...
} catch {
@pdf.PdfError::Msg(msg) => println("Parse error: \{msg}")
}pub struct PdfRead {
read_debug : Bool
error_on_malformed : Bool
debug_always_treat_malformed : Bool
logger : (String) -> Unit
}Dependencies