Matterhorn 28-007 · PDF/UA-1 UA1:7.18.2-2

TrapNet annotation in a PDF: prepress data PDF/UA forbids

BlockerCheckpoint 28: Annotations

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

Standards this condition maps to
StandardReference
Matterhorn Protocol 1.1Checkpoint 28 (Annotations), index 28-007
PDF/UA-1 (ISO 14289-1)Clause 7.18.2-2

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.

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.

Check a PDF free

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 .