Making PDF accessible. Adding 'Alt' tags to existing PDF documents.

Q: We are creating large volumes of PDFs containing images and text
using Quark. We need to add Alt Tags on the images to make the images
accessable for voice reading but Quark does not allow this feature.

We are looking to take the output PDF, add alt tags on all the images
as required (we have all the information on positioning and what the
text needs to be), and then save those changes in the PDF. The
resulting PDF will thus be readable by for both text and images. We
may also need to control the reading order, but this may not be
necessary.
-----
A: You can use PDFNet SDK (http://www.pdftron.com/net) to add Alt tags
to existing PDF documents. There are couple of ways this could be
implemented. Probably the simplest approach would be to use
ElementReader to traverse the display list of an existing page and
ElementWriter to output elements on a new (modified) page. During this
copy & paste operation you can identify image elements
(element.GetType()) and their positioning information as well as
insert marked content that contain Alt tags using WriteString method
(e.g. element_writer.WriteString("/Span << /Lang (en-us) /Alt (My
description)>> BDC ")). This approach to page content editing is
similar to the one used in ElementEdit sample project (http://
www.pdftron.com/net/samplecode.html#ElementEdit).