Skip to content

Commit

Permalink
Note that ISO 14289-1 is available from pdfa
Browse files Browse the repository at this point in the history
  • Loading branch information
dwarring committed Oct 4, 2024
1 parent 81b7fec commit c62152b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ Further Work
- Security settings must allow assistive technology access to the content
- Fonts must be embedded, and text mapped to Unicode

The PDF accessibility standard ISO 14289-1 cannot be distributed and needs to be [purchased from ISO](https://www.iso.org/standard/64599.html).
A personal copy of the PDF accessibility standard [ISO 14289-1](https://pdfa.org/resource/iso-14289-pdfua/) is available from the [PDF Association Website](https://www.iso.org/).

- Editing. Currently the API doesn't readily support editing tags into existing content. More work is also
needed in the PDF::Content module to support content editing.
20 changes: 9 additions & 11 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ PDF tagging may assist PDF readers and other automated tools in reading PDF
documents and locating content such as text and images.

This module provides a DOM like interface for creating and traversing PDF structure and
content via tags. It also an XPath like search capability. It is designed for use in
content via tags. It also has an XPath like search capability. It is designed for use in
conjunction with PDF::Class or PDF::API6.

Standard Tags
Expand Down Expand Up @@ -248,13 +248,13 @@ tagged internal link to a PDF.

As a rule, all content doesn't have to form part of the structure tree, but should be tagged to meet accessibility guidelines.

This sometimes requires tagging of incidental graphics. `PDF::Content` has a `tag()` method for this. The content is be tagged, but does not appear in the content stream.
This sometimes requires tagging of incidental graphics. `PDF::Content` has a `tag()` method for this. The content is tagged, but does not appear in the structure tree.

Some of the commonly used content tags are:

#### Artifact

Artifact content forms part of the visual display, but does not belong in the Structure Tree and is tagged using the `PDF::Content` `tag` method.
Artifact content forms part of the visual display, but does not belong in the structure Tree.

For example:
```raku
Expand Down Expand Up @@ -295,16 +295,14 @@ text is being inserted as a paragraph in the structure tree.

#### Span

This tag may be used in the structure tree, or at the content level to defined attributes of a graphics sequence. Its usage is similar to the XHTML `span` tag.
This tag may be used either in the structure tree, or at the content level to defined attributes of a graphics sequence. Its usage is similar to the XHTML `span` tag.

```raku
$gfx.tag: Span: :Lang<es-MX>, {
.say('Hasta la vista', :position[50, 80]);
}
```

It can be used almost anywhere in the structure tree, or at the content level, as above.

### Role Maps

The PDF standard allows user defined tags, which are mapped to
Expand All @@ -319,8 +317,8 @@ use PDF::Tags::Elem;
use PDF::Class;
use PDF::Page;

enum RoleMap ( :Body<Section>, :Footnote<Note>, :Book<Document> );
constant %role-map = RoleMap.enums.Hash;
enum Roles ( :Book<Document>, :FootNote<Note> );
constant %role-map = Roles.enums.Hash;

my PDF::Class $pdf .= new;
my PDF::Tags $tags .= create: :$pdf, :%role-map;
Expand All @@ -334,7 +332,7 @@ $page.graphics: -> $gfx {
.say: 'Some body text¹', :position[50, 150];
};

$doc.Footnote: $gfx, {
$doc.FootNote: $gfx, {
.say: '¹With a foot-note', :position[50, 20];
};

Expand All @@ -344,7 +342,7 @@ $page.graphics: -> $gfx {

### Content Continuation

Content sometimes needs to be continued across graphics objects, such as a paragraph that
Content sometimes needs to be continued across graphics elements, such as a paragraph that
spans multiple pages. The `mark` method may be called repeatably to achieve this:

```raku
Expand Down Expand Up @@ -455,7 +453,7 @@ Further Work
- Security settings must allow assistive technology access to the content
- Fonts must be embedded, and text mapped to Unicode

The PDF accessibility standard ISO 14289-1 cannot be distributed and needs to be [purchased from ISO](https://www.iso.org/standard/64599.html).
A personal copy of the PDF accessibility standard [ISO 14289-1](https://pdfa.org/resource/iso-14289-pdfua/) is available from the [PDF Association Website](https://www.iso.org/).

- Editing. Currently the API doesn't readily support editing tags into existing content. More work is also
needed in the PDF::Content module to support content editing.

0 comments on commit c62152b

Please sign in to comment.