///|
fn pdf_ua_pdfua_marker_length(subformat : PdfUASubformat) -> Int {
match subformat {
PdfUA1 => pdf_ua_ascii_length("1\n")
PdfUA2 =>
pdf_ua_ascii_length("2\n") +
pdf_ua_ascii_length("2024\n")
}
}
///|
fn pdf_ua_write_pdfua_marker(
output : Array[Byte],
position : Int,
subformat : PdfUASubformat,
) -> Int {
match subformat {
PdfUA1 =>
pdf_ua_write_ascii(output, position, "1\n")
PdfUA2 => {
let mut current = pdf_ua_write_ascii(
output, position, "2\n",
)
current = pdf_ua_write_ascii(
output, current, "2024\n",
)
current
}
}
}
///|
fn pdf_ua_pdfua_marker_part_length(part : String, revision : Int?) -> Int {
let mut length = pdf_ua_ascii_length("") +
pdf_ua_ascii_length(part) +
pdf_ua_ascii_length("\n")
match revision {
Some(year) =>
length += pdf_ua_ascii_length("") +
pdf_ua_ascii_length(year.to_string()) +
pdf_ua_ascii_length("\n")
None => ()
}
length
}
///|
fn pdf_ua_write_pdfua_marker_part(
output : Array[Byte],
position : Int,
part : String,
revision : Int?,
) -> Int {
let mut current = pdf_ua_write_ascii(output, position, "")
current = pdf_ua_write_ascii(output, current, part)
current = pdf_ua_write_ascii(output, current, "\n")
match revision {
Some(year) => {
current = pdf_ua_write_ascii(output, current, "")
current = pdf_ua_write_ascii(output, current, year.to_string())
current = pdf_ua_write_ascii(output, current, "\n")
current
}
None => current
}
}