Matterhorn 28-007 · PDF/UA-1 UA1:7.18.2-2
TrapNet annotation in a PDF: prepress data PDF/UA forbids
TrapNet annotations are prepress artefacts and are forbidden in PDF/UA-1.
The condition, as the protocol states it. “An annotation of subtype TrapNet exists.”
Matterhorn Protocol 1.1, checkpoint 28, index 28-007, section UA1:7.18.2-2. Software can decide this one on its own.
What a screen reader actually does
No direct effect, but the file cannot conform.
What a TrapNet annotation is
Trapping is a print-production step. Where two inks meet on a page, a press that is a hair out of register leaves a sliver of white between them, so trapping software spreads one colour under the other by a fraction of a millimetre. The result can be stored in the PDF itself, as a trap network annotation, at most one per page:
<< /Type /Annot
/Subtype /TrapNet
/Rect [ 0 0 595 842 ] % here, the whole page
/LastModified (D:20260915120000Z)
/AP << /N 31 0 R >> % the traps, drawn as a form XObject
/F 4
>>
ISO 32000-1 has it sit last in the page’s /Annots array. In a PDF/X print workflow it travels with the document’s Trapped flag set to true. PDF 2.0 deprecates the annotation type.
PDF/UA-1 clause 7.18.2 goes further and does not allow it at all. Condition 28-007 is simply that one exists.
What breaks
Nothing a reader hears. The trap network has no text, no structure and no meaning beyond the press run, and a screen reader has nothing to say about it. The condition is in the protocol because the file it appears in is the wrong file: a document prepared for a printing press, published as the document for reading. The same file often carries other print-shop leftovers, such as printer’s marks (28-017, 28-018), and nothing that writes a trap network has any reason to tag it, so it normally fails 28-002 as well.
Where it comes from
Prepress trapping. Trapping software in a print workflow can store its result as a TrapNet annotation in the PDF that goes to the platesetter.
The print file going out as the web file. Someone asks for “the final PDF”, and the final PDF in the building is the one that came back from the printer. Everything about that file is tuned for the press: the trapping, the marks, the bleed.
How to check it free
qpdf. Write the readable form and search it:
qpdf --qdf --object-streams=disable brochure.pdf readable.pdf
Look for /Subtype /TrapNet. One on any page is the condition.
veraPDF, validating against PDF/UA-1, reports a TrapNet annotation under clause 7.18.2, except one flagged hidden or lying outside the crop box.
Acrobat Pro’s Preflight can build a custom check on its Annotations property group, which Adobe describes as covering “most characteristics of comments and drawing markups, traps, and printer marks” (Additional checks in the Preflight tool). Adobe does not list the individual properties on that page, so you will be choosing from the dialog itself.
How to fix it free
Publish the right file. Go back one step in the chain: the PDF exported from the layout application before it went to the printer, or a fresh export with trapping left to the print workflow. This is the real fix, and the same step gets rid of printer’s marks and other press-only content.
In Acrobat, we could not find an Adobe-documented way to remove a TrapNet annotation: Adobe’s pages on comments and on Preflight do not cover it. If the clean source is gone, a tool that edits the object model, by hand or as below, is the practical route.
By hand, in the readable qpdf file, remove the annotation’s reference from the page’s /Annots array, then repair the offsets and write a normal file:
fix-qdf readable.pdf > edited.pdf
qpdf edited.pdf brochure-fixed.pdf
What Taggart does
The check reports every TrapNet annotation, on every page, whether or not it is flagged hidden:
A TrapNet annotation is present on page 1. PDF/UA-1 forbids TrapNet annotations.
On the same file Taggart also reports the annotation under 28-002 and 28-004, because it is outside the structure tree and has no description. Those two go away with it.
The repair is remove-trapnet, marked safe, so Fix All Safe applies it. It rebuilds each affected page’s /Annots array without the TrapNet entries and logs how many it removed from a page. It does not touch the Trapped flag in the metadata, which PDF/UA has no rule about, and it does not remove printer’s marks, which are separate conditions with their own repairs.
How Taggart handles it
Taggart checks for this condition automatically and reports it as a blocker, with where in the file it found it.
The fix is Remove TrapNet annotations. It is mechanical, so “Fix All Safe” applies it along with the others in one pass and lists what it changed. Your original file is never modified.
Whatever Taggart changes, the page still looks identical. Fixes edit the PDF object model, not the content streams, and every remediation is re-rendered and compared against the original at structural similarity ≥ 0.999 before you get the file back. A tool that quietly reflows your document is worse than no tool.
Frequently asked questions
What is trapping?
On a printing press, each ink goes down from its own plate, and the plates never line up perfectly. Where two colours meet, a slight misalignment leaves a hairline of bare paper. Trapping hides it by making adjacent colours overlap by a fraction of a millimetre. A trap network is the set of those overlaps for a page.
Does removing it change how the document looks?
On screen, the difference is an overlap of a fraction of a millimetre where two colours meet. On a press it matters: the file loses its trapping. That is a reason to keep the print file and the published file separate, not a reason to keep the annotation in the published one.
Is a hidden TrapNet annotation still a failure?
Taggart reports it either way, because the condition says only that one exists. veraPDF's PDF/UA-1 profile is more lenient here and skips a TrapNet annotation that is flagged hidden or lies outside the crop box, so the two can disagree on that case.
Is this the same as the Trapped entry in the document information?
No. Trapped is a flag saying whether the document has been trapped; it is metadata and PDF/UA does not object to it. The TrapNet annotation is the trapping itself, stored on the page, and that is what is forbidden.
Where this sits in the standards
| Standard | Reference |
|---|---|
| Matterhorn Protocol 1.1 | Checkpoint 28 (Annotations), index 28-007 |
| PDF/UA-1 (ISO 14289-1) | Clause 7.18.2-2 |
Related conditions
- 28-017 A PrinterMark annotation is included in the logical structureCrop marks and registration targets are production artefacts and must not appear in the structure tree.
- 28-018 The appearance stream of a PrinterMark annotation is not marked as ArtifactThe content inside a PrinterMark's appearance stream must itself be artifacted.
- 28-006 An annotation with subtype undefined in ISO 32000 does not meet 7.18.1A custom annotation subtype still has to be placed in the structure tree and described.
- 28-002 An annotation is not a direct child of an Annot structure elementNon-widget, non-link annotations must sit inside an Annot structure element so they have a place in the reading order.
Other conditions in checkpoint 28
Checkpoint 28 covers annotations. These are its other failure conditions; the ones without a link are in the rule set but do not have a written page yet.
- 28-001 An annotation is not in correct reading orderThe annotation's position in the structure tree does not match where it appears on the page.
- 28-002 An annotation is not a direct child of an Annot structure elementNon-widget, non-link annotations must sit inside an Annot structure element so they have a place in the reading order.
- 28-003 An annotation is used for visual formatting but is not tagged according to its semantic functionA Square or Line annotation used to draw a box round a callout is decoration and should be artifacted, or tagged for what it actually means.
- 28-004 An annotation has neither a Contents entry nor an alternative descriptionEvery non-widget annotation needs an accessible description, either in its own /Contents or in the /Alt of the structure element that encloses it.
- 28-005 A form field has neither a TU entry nor an alternative descriptionThe /TU tooltip is the accessible name of a PDF form field. Without it the field has no name at all — the visible label printed next to it is not connected to the control.
- 28-006 An annotation with subtype undefined in ISO 32000 does not meet 7.18.1A custom annotation subtype still has to be placed in the structure tree and described.
- 28-008 A page containing an annotation does not contain a Tabs entryAny page carrying annotations must declare a tab order. PDF/UA-1 requires /Tabs /S — tab order follows the structure tree.
- 28-009 A page containing an annotation has a Tabs entry with a value other than S/Tabs is present but set to /R (row order) or /C (column order) rather than /S (structure order).
- 28-010 A widget annotation is not nested within a Form tagEvery form control must sit inside a Form structure element.
- 28-011 A link annotation is not nested within a Link tagA link annotation must be a child of a Link structure element containing the link's text, joined by an object reference (/OBJR).
- 28-012 A link annotation does not include an alternate description in its Contents entryLink annotations need /Contents describing where the link goes.
- 28-013 An IsMap entry is true but the functionality is not provided in some other wayA server-side image map requires pointing at a pixel, which is not possible without a mouse.
- 28-014 CT entry is missing from the media clip data dictionaryThe media clip's content type (/CT) is required so a processor knows what it is being asked to play.
- 28-015 Alt entry is missing from the media clip data dictionaryMedia clips require an /Alt array giving a text description.
- 28-016 File attachment annotations do not conform to 7.11The file specification referenced by a FileAttachment annotation must carry both /F and /UF.
- 28-017 A PrinterMark annotation is included in the logical structureCrop marks and registration targets are production artefacts and must not appear in the structure tree.
- 28-018 The appearance stream of a PrinterMark annotation is not marked as ArtifactThe content inside a PrinterMark's appearance stream must itself be artifacted.
Check your own file. Taggart’s validator is free and unlimited — 75 of the 87 Matterhorn conditions software can decide, with the other 12 listed for you to confirm; no watermark, no expiry, and no account needed up to 60 pages.
Checked with Taggart on a generated file that fails this condition on . The Acrobat steps follow Adobe’s documentation and were not walked through by hand. Last updated .