Guide

ActualText in PDF: what it is and when to use it

ActualText changes what a PDF says without changing how it looks. When it is the right fix, how it differs from Alt, and the mistakes that silence text.

About 9 minutes · moderate

What it is

ISO 32000-1 calls it replacement text (§14.9.4). It is a string attached to a structure element — or directly to a marked-content sequence — that stands in for everything that element or sequence paints. Text extraction, copy, search and assistive technology read the ActualText; the page renders the glyphs as they always did.

That split — what the page shows versus what the page says — is the whole point. It lets you correct what a document says without touching how it looks.

ActualText is not Alt

They are easy to confuse and they are not interchangeable.

AltActualText
PurposeDescribes contentReplaces content with its exact text
Typical useA chart, a photo, a diagramText drawn as an image or outlines, a drop cap, a logotype, text stored wrongly
Read asA description, announced as suchOrdinary text, flowing into the sentence around it
Wrong choiceActualText on a chart (13-005)Alt on a word that should read as a word (13-008)

A logo that spells ACME should read as ACME in the sentence “a product of ACME”, not as “image: company logo”. That is ActualText. A bar chart should not be replaced by its numbers read as a run of text; it should be described. That is Alt.

When ActualText is the right fix

  • Text drawn as outlines or an image. A heading exported as vector paths, a word in a scanned stamp. The page shows letters; the file holds shapes. ActualText gives them back their characters.
  • Decorative letterforms. A drop cap is often its own glyph run, so Once reads as O nce. ActualText on the pair restores the word.
  • Glyphs whose character map is wrong. Some fonts map a glyph to the wrong character, or to none (10-001). Where the right text is known — sometimes the producer already put it there — ActualText carries it.
  • Right-to-left text stored backwards. Many Hebrew and Arabic PDFs store each line pre-reversed. ActualText carries the line in logical order, and the painted glyphs do not move. That failure →

It is not the fix for missing structure, a wrong reading order, or content that should not be read at all — those are tagging, ordering and artifact problems.

The mistakes that silence text

ActualText covers everything under it. Put it on a paragraph and it replaces the whole paragraph. The commonest serious error is giving an element the text of part of what it holds: the rest is not read, not copied, not searched. It simply stops existing for anyone who is not looking at the page.

This is easy to cause by accident. A producer can put two lines of a paragraph into a single marked-content sequence; a tool that repairs line by line then writes the first line’s text onto it, and the second line goes silent — often after being merely reversed before the “repair”. When one sequence spans several lines, its ActualText must contain all of them, in reading order.

Nested replacement is ignored. ActualText on an element whose descendant also has ActualText: the outer one wins and the inner one is never used. Put it at one level.

Language still applies. ActualText is read in the language of its element. Hebrew ActualText on an element inheriting en-US is read by an English voice. Set /Lang alongside it — 11-002 is the condition for replacement text whose language cannot be determined.

Do not hand-reverse. For right-to-left text, the logical string is not simply the stored string backwards: numbers and Latin words inside the line were stored the right way round. Reverse everything and 2014 becomes 4102.

How to set it

In Acrobat Pro: Tags panel → select the element → right-click → Properties → Tag tab → Actual Text. One element at a time: workable for a heading, not for a document.

At the source: if the source application can export real text instead of outlines, or logical-order Hebrew instead of visual, that is always better than ActualText afterwards. ActualText is the repair when the source is gone or the export cannot be fixed.

How Taggart uses it

Taggart’s right-to-left repair is ActualText and /Lang and nothing else: the content stream is never rewritten, and every repaired page is re-rendered and compared with the original at structural similarity ≥ 0.999. It never writes ActualText that covers only part of what it replaces — when one sequence spans several lines, every line goes in. And it never writes Alt text for you; describing an image is a judgement, not a transcription.

Check a file free — the right-to-left tab shows, for each line, what is stored and what the ActualText would say.

Frequently asked questions

What is the difference between ActualText and Alt?

Alt describes content; ActualText replaces it. A chart gets Alt — a description of what it shows. A logo made of the letters ACME, a drop cap, or a line of Hebrew stored backwards gets ActualText — the exact characters it stands for, which then flow into the sentence around them. Using one where the other belongs is a failure condition in its own right.

Does ActualText change how the page looks?

No. It is a property of the structure or of a marked-content sequence, not of the drawing. The glyphs stay exactly where they were painted; only what is extracted, copied, searched and read aloud changes. That is why it is the right tool for repairs that must not alter a document of record.

Do screen readers use ActualText?

Screen readers reading through Acrobat Reader do, and so does copying text in Acrobat. Support in browsers' built-in PDF viewers varies, so a repair that depends on it is worth listening to in the viewer your readers actually use.

Can ActualText cover more than one line?

It covers everything its element or sequence contains, however many lines that is — which is the trap. Give an element that holds two lines the text of only the first, and the second is not read at all. When one sequence spans several lines, its ActualText has to carry all of them.

Related guides

Related failure conditions

Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, and no account at all up to 60 pages.

Check a PDF free

Last updated .