PDF/A version | Conformance level | Class type | Severity |
---|---|---|---|
1, 2, 3 | bua | Conformance | 5 |
The PDF/A document has links to an external resource instead of embedding it, such as, external file specifications and referenced XObjects.
Example of the simple file with reference XObject:
-
Create PDF document with one page
-
Find /Page dictionary from /Catalog dictionary:
/Catalog -> /Pages -> /Kids -> /Page
- Create new stream object which will be used as Reference XObject (for example 15 0 R)
Example of simple stream object:
15 0 obj
<</Length 0>>
stream
endstream
endobj
- Add the key /XObject dictionary inside /Resources dictionary
Example:
/Resources <</XObject <</SomeName Link to object from step 3>>
Final ver.: /Resources <</XObject <</SomeName 15 0 R>>
Note: SomeName is the name of your XObject. This name would be used in Page content stream
-
Go to the object which was created at the step 3
-
Add the requied keys from table 95 (PDF32000) and key /Ref <</F Link to new object /Page 1>>
-
Create new dictionary object for Filespec dictionary
-
Add object number of the created dictionary for the key /F (e.g. 16 0 obj)
/Ref <</F 16 0 R /Page 1>>
-
Go to new dictionary (16 0 obj)
-
Add keys /F (type string) and /Type /Filespec
16 0 obj <</Type /Filespec /F (path to other file)>> endobj
For example: /F (//pdfdocs/spec.pdf)
-
Go to page content stream
-
Add the operator Do with name of the created XObject
For example:
5 0 obj
<</Length 25>>
stream
/SomeName Do
ednstream
endobj
- Update length of content stream, xref table and trailer
- veraPDF test suite / PDFA-2 / veraPDF test suite: 6-2-9-2-t01-fail-a