Gets the URI, decoded as UTF-8, or null when it is absent or not a string.
[SuppressMessage("Design", "CA1056:URI-like properties should not be strings", Justification = "The file may hold a relative or malformed URI (relative to the catalog URI Base); the text is returned as stored.")]
public string? Uri { get; }
ISO 32000-2 §12.6.4.8, Table 210: an ASCII string "encoded in UTF-8". Bytes that are not UTF-8 are read through PDFDocEncoding and
a UTF-16 byte order mark as UTF-16, each with a UriInvalid diagnostic; a URI written as a name is read as its bytes, with
the same diagnostic. The value as stored is UriObject.