///|
fn pdf_ua_matterhorn_xmp_field_exists(
metadata : BytesView,
xml_namespace : String,
fallback_prefix : String,
name : String,
) -> Bool {
pdf_metadata_get_xmp_data(metadata, xml_namespace, fallback_prefix, name)
is Some(_)
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_06_001(
self : PdfDocument,
) -> Json? raise @core.PdfError {
match self.metadata() {
Some(_) => None
None => Some(Json::null())
}
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_06_002(
self : PdfDocument,
) -> Json? raise @core.PdfError {
match self.metadata() {
Some(metadata) =>
if pdf_ua_matterhorn_xmp_field_exists(
metadata, @metadata.pdf_metadata_pdfuaid_namespace, "pdfuaid", "part",
) {
None
} else {
Some(Json::null())
}
None => None
}
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_06_003(
self : PdfDocument,
) -> Json? raise @core.PdfError {
match self.metadata() {
Some(metadata) =>
if pdf_ua_matterhorn_xmp_field_exists(
metadata, @metadata.pdf_metadata_dc_namespace, "dc", "title",
) {
None
} else {
Some(Json::null())
}
None => None
}
}
///|
fn PdfDocument::pdf_ua_matterhorn_display_doc_title(
self : PdfDocument,
) -> @syntax.PdfObject? {
self.lookup_chain(self.trailer_dict(), [
pdf_ua_root_key(),
pdf_ua_viewer_preferences_key(),
pdf_ua_display_doc_title_key(),
])
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_07_001(self : PdfDocument) -> Json? {
match self.pdf_ua_matterhorn_display_doc_title() {
None => Some(Json::null())
Some(_) => None
}
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_07_002(self : PdfDocument) -> Json? {
match self.pdf_ua_matterhorn_display_doc_title() {
Some(PdfBoolean(false)) => Some(Json::null())
_ => None
}
}
///|
fn PdfDocument::pdf_ua_matterhorn_check_11_001(self : PdfDocument) -> Json? {
match
self.lookup_chain(self.trailer_dict(), [
pdf_ua_root_key(),
pdf_ua_lang_key(),
]) {
Some(PdfString(value)) if value.length() == 0 =>
Some(Json::string("Top-level /Lang is empty"))
None => Some(Json::string("No top-level /Lang"))
Some(_) => None
}
}
///|
fn pdf_ua_matterhorn_check_source_unimplemented_language() -> Json? {
None
}