arlington-pdf-model
arlington-pdf-model copied to clipboard
A vendor- and implementation-independent specification-derived, machine-readable model of PDF.
Currently the TestGrammar C++ PoC does not implement the Arlington-specific grammar construct `parent::`. This means that certain predicates for font, halftone and XObjects will always report as a warning message....
TestGrammar (C++ PoC) currently only reports on traditional style xref tables or cross-reference streams. Should expand to also identify hybrid reference PDFs, even though they are relatively rare: **7.5.8.4 Compatibility...
Requested features of TestGrammar: * report any preamble junk bytes before "%PDF_x.y" * report any post-amble junk bytes after last "%%EOF" * confirm that there is a 2nd line binary...
Currently `TransferFunction` is required in Halftone1 dictionary, if `fn:IsRequired(parent::@HalftoneType==5)` . However, the exact wording in 32k is more elaborate: > This entry shall be present if the dictionary is a...
The **A** key for **Target** object uses the expression `fn:Eval(@A==fn:PageProperty(@P,Annots::@NM))` for possible values. It looks like `Annots::@NM` tries to reference a key in the array of objects, which is not...
We've just pulled the latest model and incorporated it so here's some feedback on the changes over the last couple of weeks. Almost all minor, so all in one issue...
CryptFilterPublicKeyMap doesn't allow StdCF entry if DefaultCryptFilter/DefEmbeddedFile are present
I think this special case reflects the following text in 7.6.4.1 (2nd par above NOTE 2): > For revision 6, the filter **CFM** value shall be AESV3 (AES-256). Public-Key security...
The InNameTree predicate seems to be used in several cases that don't match the documentation for the predicate. Primary discrepancy is it is used with non-string values, and that it...
Various predicates have `@Filter` logic as a data integrity relationship for stream data (e.g. XObjectImage). However `FFilter` also needs to be added since any stream can be an external file
It has been requested to add a predicate identifying all keys or array elements that can be IRIs, URIs, URLs, or URNs (i.e. some form of web link). It is...