### ----------------------------------------------------
### -- PDF::ISO_32000
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: README.md
### ----------------------------------------------------
### -- Chunk 1 of 10
[[Raku PDF Project]](https://pdf-raku.github.io)
 / [PDF::ISO_32000](https://pdf-raku.github.io/PDF-ISO_32000-raku)

# PDF-ISO_32000-raku

The [PDF 32000-1:2008 1.7 Specification](=https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/pdfstandards/pdf/PDF32000_2008.pdf) contains around 380 tables, of which about 280 can be considered data or object definitions.

This module has been used to extract and generate the roles and classes from the PDF
specification for use by PDF::Class.

PDF::Class (at last count) implements roles and classes for about 100 of these objects, most of which
have been derived and/or checked against the roles generated by this module.

This module contains:

- [JSON tables](https://github.com/pdf-raku/PDF-ISO_32000-raku/blob/master/resources/) extracted from the above
- [generated interface roles](https://github.com/pdf-raku/PDF-ISO_32000-raku/blob/master/lib/ISO_32000) for building and validating PDF objects
- scripts and Makefiles for regenerating the XML tables and roles

## Tables

Data is available for all of the tables in the PDF-32000 1.7 specification:
```
use PDF::ISO_32000;
# Load data about the Document Information dictionary
my %info = PDF::ISO_32000.table: "Table_317-Entries_in_the_document_information_dictionary";
# -OR- by table number
%info = PDF::ISO_32000.[317];
say %info<caption>;             # Table 317 – Entries in the document information dictionary
say %info<head>.join(" | ");    # Key | Type | Value
say %info<rows>[0].join(" | "); # Title | text string | (Optional; PDF 1.1) The document’s title.
```

The `table-index` method returns a list that maps table numbers to table names:

```
say PDF::ISO_32000.table-index[317] # Table 317 - Info_entries
```

The `appendix` method returns a hash index into the Appendix:

```
my $stream-ops = PDF::ISO_32000.appendix<A.1>;
say $stream-ops, # PDF_content_stream_operators
say PDF::ISO_32000.table($stream-ops)<caption>; #  Table A.1 – PDF content stream operators
```

## Roles

Roles are available for tables named `*_entries`, or `*_attributes`.

```
% p6doc ISO_32000:Table_317-Entries_in_the_document_information_dictionary
% p6doc ISO_32000:Table_28-Entries_in_the_catalog_dictionary
```

The roles also contain [method stubs](https://docs.raku.org/language/objects#Stubs) for the entries that need to be implemented for the role. For example:

```
% cat << EOF > lib/Catalog.rakumod
use ISO_32000::Table_28-Entries_in_the_catalog_dictionary;
unit class Catalog does ISO_32000::Table_28-Entries_in_the_catalog_dictionary;
EOF
% raku -I . -M Catalog
===SORRY!=== Error while compiling lib/Catalog.rakumod (Catalog)
Method 'SpiderInfo' must be implemented by Catalog because it is required by roles: ISO_32000::Table_28-Entries_in_the_catalog_dictionary.
at lib/Catalog.rakumod (Catalog):1
```

### Building this module

The companion git repository git@github.com:pdf-raku/PDF-ISO_32000-Builder-raku.git is used to build this module. It will be cloned automatically. Please check this module's META6.json for any missing dependencies.

Note that the `META6.json` and `README.md` are generated. Any edits
the these files should be made to the sources `src/META6.in` and `src/README.in`, before building.

To rebuild the roles, resources, README.md and META6.json:

```
$ make clean
$ make
$ make test
```

Or to fully rebuild the module type `$ make realclean`. This will refetch specification and rebuild the the XML extract `gen/PDF-ISO_32000.xml`. This will take some time. At least `2Gb` of available memory is recommended. The `wget` utility
and network access are also required.

- This module has been developed on Linux using `GNU Make`


## ISO 32000 Roles

The following interface roles have been mined from the ISO-32000 specification

### Roles and Entries


ISO_32000 Reference|Entries
----|-----
[Table F.1 – Entries in the linearization parameter dictionary](lib/ISO_32000/Table_F1-Entries_in_the_linearization_parameter_dictionary.rakumod)|/Linearized /L /H /O /E /N /T /P
[Table 5 – Entries common to all stream dictionaries](lib/ISO_32000/Table_5-Entries_common_to_all_stream_dictionaries.rakumod)|/Length /Filter /DecodeParms /F /FFilter /FDecodeParms /DL
[Table 8 – Optional parameters for LZWDecode and FlateDecode filters](lib/ISO_32000/Table_8-Optional_parameters_for_LZWDecode_and_FlateDecode_filters.rakumod)|/Predictor /Colors /BitsPerComponent /Columns /EarlyChange
[Table 11 – Optional parameters for the CCITTFaxDecode filter](lib/ISO_32000/Table_11-Optional_parameters_for_the_CCITTFaxDecode_filter.rakumod)|/K /EndOfLine /EncodedByteAlign /Columns /Rows /EndOfBlock /BlackIs1 /DamagedRowsBeforeError
[Table 12 – Optional parameter for the JBIG2Decode filter](lib/ISO_32000/Table_12-Optional_parameter_for_the_JBIG2Decode_filter.rakumod)|/JBIG2Globals
[Table 13 – Optional parameter for the DCTDecode filter](lib/ISO_32000/Table_13-Optional_parameter_for_the_DCTDecode_filter.rakumod)|/ColorTransform
[Table 14 – Optional parameters for Crypt filters](lib/ISO_32000/Table_14-Optional_parameters_for_Crypt_filters.rakumod)|/Type /Name
[Table 15 – Entries in the file trailer dictionary](lib/ISO_32000/Table_15-Entries_in_the_file_trailer_dictionary.rakumod)|/Size /Prev /Root /Encrypt /Info /ID
[Table 16 – Additional entries specific to an object stream dictionary](lib/ISO_32000/Table_16-Additional_entries_specific_to_an_object_stream_dictionary.rakumod)|/Type /N /First /Extends
[Table 17 – Additional entries specific to a cross-reference stream dictionary](lib/ISO_32000/Table_17-Additional_entries_specific_to_a_cross-reference_stream_dictionary.rakumod)|/Type /Size /Index /Prev /W
[Table 19 – Additional entries in a hybrid-reference file’s trailer dictionary](lib/ISO_32000/Table_19-Additional_entries_in_a_hybrid-reference_files_trailer_dictionary.rakumod)|/XRefStm
[Table 20 – Entries common to all encryption dictionaries](lib/ISO_32000/Table_20-Entries_common_to_all_encryption_dictionaries.rakumod)|/Filter /SubFilter /V /Length /CF /StmF /StrF /EFF
[Table 21 – Additional encryption dictionary entries for the standard security handler](lib/ISO_32000/Table_21-Additional_encryption_dictionary_entries_for_the_standard_security_handler.rakumod)|/R /O /U /P /EncryptMetadata
[Table 23 – Additional encryption dictionary entries for public-key security handlers](lib/ISO_32000/Table_23-Additional_encryption_dictionary_entries_for_public-key_security_handlers.rakumod)|/Recipients /P
[Table 25 – Entries common to all crypt filter dictionaries](lib/ISO_32000/Table_25-Entries_common_to_all_crypt_filter_dictionaries.rakumod)|/Type /CFM /AuthEvent /Length
[Table 27 – Additional crypt filter dictionary entries for public-key security handlers](lib/ISO_32000/Table_27-Additional_crypt_filter_dictionary_entries_for_public-key_security_handlers.rakumod)|/Recipients /EncryptMetadata
[Table 28 – Entries in the catalog dictionary](lib/ISO_32000/Table_28-Entries_in_the_catalog_dictionary.rakumod)|/Type /Version /Extensions /Pages /PageLabels /Names /Dests /ViewerPreferences /PageLayout /PageMode /Outlines /Threads /OpenAction /AA /URI /AcroForm /Metadata /StructTreeRoot /MarkInfo /Lang /SpiderInfo /OutputIntents /PieceInfo /OCProperties /Perms /Legal /Requirements /Collection /NeedsRendering
[Table 29 – Required entries in a page tree node](lib/ISO_32000/Table_29-Required_entries_in_a_page_tree_node.rakumod)|/Type /Parent /Kids /Count
[Table 30 – Entries in a page object](lib/ISO_32000/Table_30-Entries_in_a_page_object.rakumod)|/Type /Parent /LastModified /Resources /MediaBox /CropBox /BleedBox /TrimBox /ArtBox /BoxColorInfo /Contents /Rotate /Group /Thumb /B /Dur /Trans /Annots /AA /Metadata /PieceInfo /StructParents /ID /PZ /SeparationInfo /Tabs /TemplateInstantiated /PresSteps /UserUnit /VP
[Table 31 – Entries in the name dictionary](lib/ISO_32000/Table_31-Entries_in_the_name_dictionary.rakumod)|/Dests /AP /JavaScript /Pages /Templates /IDS /URLS /EmbeddedFiles /AlternatePresentations /Renditions
[Table 33 – Entries in a resource dictionary](lib/ISO_32000/Table_33-Entries_in_a_resource_dictionary.rakumod)|/ExtGState /ColorSpace /Pattern /Shading /XObject /Font /ProcSet /Properties
[Table 36 – Entries in a name tree node dictionary](lib/ISO_32000/Table_36-Entries_in_a_name_tree_node_dictionary.rakumod)|/Kids /Names /Limits
[Table 37 – Entries in a number tree node dictionary](lib/ISO_32000/Table_37-Entries_in_a_number_tree_node_dictionary.rakumod)|/Kids /Nums /Limits
[Table 38 – Entries common to all function dictionaries](lib/ISO_32000/Table_38-Entries_common_to_all_function_dictionaries.rakumod)|/FunctionType /Domain /Range
[Table 39 – Additional entries specific to a type 0 function dictionary](lib/ISO_32000/Table_39-Additional_entries_specific_to_a_type_0_function_dictionary.rakumod)|/Size /BitsPerSample /Order /Encode /Decode
[Table 40 – Additional entries specific to a type 2 function dictionary](lib/ISO_32000/Table_40-Additional_entries_specific_to_a_type_2_function_dictionary.rakumod)|/C0 /C1 /N
[Table 41 – Additional entries specific to a type 3 function dictionary](lib/ISO_32000/Table_41-Additional_entries_specific_to_a_type_3_function_dictionary.rakumod)|/Functions /Bounds /Encode
[Table 44 – Entries in a file specification dictionary](lib/ISO_32000/Table_44-Entries_in_a_file_specification_dictionary.rakumod)|/Type /FS /F /UF /DOS /Mac /Unix /ID /V /EF /RF /Desc /CI
[Table 45 – Additional entries in an embedded file stream dictionary](lib/ISO_32000/Table_45-Additional_entries_in_an_embedded_file_stream_dictionary.rakumod)|/Type /Subtype /Params
[Table 46 – Entries in an embedded file parameter dictionary](lib/ISO_32000/Table_46-Entries_in_an_embedded_file_parameter_dictionary.rakumod)|/Size /CreationDate /ModDate /Mac /CheckSum
[Table 47 – Entries in a Mac OS file information dictionary](lib/ISO_32000/Table_47-Entries_in_a_Mac_OS_file_information_dictionary.rakumod)|/Subtype /Creator /ResFork
[Table 48 – Entries in a collection item dictionary](lib/ISO_32000/Table_48-Entries_in_a_collection_item_dictionary.rakumod)|/Type
[Table 49 – Entries in a collection subitem dictionary](lib/ISO_32000/Table_49-Entries_in_a_collection_subitem_dictionary.rakumod)|/Type /D /P
[Table 50 – Entries in a developer extensions dictionary](lib/ISO_32000/Table_50-Entries_in_a_developer_extensions_dictionary.rakumod)|/Type /BaseVersion /ExtensionLevel
[Table 52 – Device-Independent Graphics State Parameters](lib/ISO_32000/Table_52-Device-Independent_Graphics_State_Parameters.rakumod)|/CTM /clippingPath /colorSpace /color /textState /lineWidth /lineCap /lineJoin /miterLimit /dashPattern /renderingIntent /strokeAdjustment /blendMode /softMask /alphaConstant /alphaSource
[Table 53 – Device-Dependent Graphics State Parameters](lib/ISO_32000/Table_53-Device-Dependent_Graphics_State_Parameters.rakumod)|/overprint /overprintMode /blackGeneration /undercolorRemoval /transfer /halftone /flatness /smoothness
[Table 58 – Entries in a Graphics State Parameter Dictionary](lib/ISO_32000/Table_58-Entries_in_a_Graphics_State_Parameter_Dictionary.rakumod)|/Type /LW /LC /LJ /ML /D /RI /OP /op /OPM /Font /BG /BG2 /UCR /UCR2 /TR /TR2 /HT /FL /SM /SA /BM /SMask /CA /ca /AIS /TK
[Table 63 – Entries in a CalGray Colour Space Dictionary](lib/ISO_32000/Table_63-Entries_in_a_CalGray_Colour_Space_Dictionary.rakumod)|/WhitePoint /BlackPoint /Gamma
[Table 64 – Entries in a CalRGB Colour Space Dictionary](lib/ISO_32000/Table_64-Entries_in_a_CalRGB_Colour_Space_Dictionary.rakumod)|/WhitePoint /BlackPoint /Gamma /Matrix
[Table 65 – Entries in a Lab Colour Space Dictionary](lib/ISO_32000/Table_65-Entries_in_a_Lab_Colour_Space_Dictionary.rakumod)|/WhitePoint /BlackPoint /Range
[Table 66 – Additional Entries Specific to an ICC Profile Stream Dictionary](lib/ISO_32000/Table_66-Additional_Entries_Specific_to_an_ICC_Profile_Stream_Dictionary.rakumod)|/N /Alternate /Range /Metadata
[Table 71 – Entries in a DeviceN Colour Space Attributes Dictionary](lib/ISO_32000/Table_71-Entries_in_a_DeviceN_Colour_Space_Attributes_Dictionary.rakumod)|/Subtype /Colorants /Process /MixingHints
[Table 72 – Entries in a DeviceN Process Dictionary](lib/ISO_32000/Table_72-Entries_in_a_DeviceN_Process_Dictionary.rakumod)|/ColorSpace /Components
[Table 73 – Entries in a DeviceN Mixing Hints Dictionary](lib/ISO_32000/Table_73-Entries_in_a_DeviceN_Mixing_Hints_Dictionary.rakumod)|/Solidities /PrintingOrder /DotGain
[Table 75 – Additional Entries Specific to a Type 1 Pattern Dictionary](lib/ISO_32000/Table_75-Additional_Entries_Specific_to_a_Type_1_Pattern_Dictionary.rakumod)|/Type /PatternType /PaintType /TilingType /BBox /XStep /YStep /Resources /Matrix
[Table 76 – Entries in a Type 2 Pattern Dictionary](lib/ISO_32000/Table_76-Entries_in_a_Type_2_Pattern_Dictionary.rakumod)|/Type /PatternType /Shading /Matrix /ExtGState
[Table 78 – Entries Common to All Shading Dictionaries](lib/ISO_32000/Table_78-Entries_Common_to_All_Shading_Dictionaries.rakumod)|/ShadingType /ColorSpace /Background /BBox /AntiAlias
[Table 79 – Additional Entries Specific to a Type 1 Shading Dictionary](lib/ISO_32000/Table_79-Additional_Entries_Specific_to_a_Type_1_Shading_Dictionary.rakumod)|/Domain /Matrix /Function
[Table 80 – Additional Entries Specific to a Type 2 Shading Dictionary](lib/ISO_32000/Table_80-Additional_Entries_Specific_to_a_Type_2_Shading_Dictionary.rakumod)|/Coords /Domain /Function /Extend
[Table 81 – Additional Entries Specific to a Type 3 Shading Dictionary](lib/ISO_32000/Table_81-Additional_Entries_Specific_to_a_Type_3_Shading_Dictionary.rakumod)|/Coords /Domain /Function /Extend
[Table 82 – Additional Entries Specific to a Type 4 Shading Dictionary](lib/ISO_32000/Table_82-Additional_Entries_Specific_to_a_Type_4_Shading_Dictionary.rakumod)|/BitsPerCoordinate /BitsPerComponent /BitsPerFlag /Decode /Function
[Table 83 – Additional Entries Specific to a Type 5 Shading Dictionary](lib/ISO_32000/Table_83-Additional_Entries_Specific_to_a_Type_5_Shading_Dictionary.rakumod)|/BitsPerCoordinate /BitsPerComponent /VerticesPerRow /Decode /Function
[Table 84 – Additional Entries Specific to a Type 6 Shading Dictionary](lib/ISO_32000/Table_84-Additional_Entries_Specific_to_a_Type_6_Shading_Dictionary.rakumod)|/BitsPerCoordinate /BitsPerComponent /BitsPerFlag /Decode /Function
[Table 88 – Additional Entries Specific to a PostScript XObject Dictionary](lib/ISO_32000/Table_88-Additional_Entries_Specific_to_a_PostScript_XObject_Dictionary.rakumod)|/Type /Subtype /Level1
[Table 89 – Additional Entries Specific to an Image Dictionary](lib/ISO_32000/Table_89-Additional_Entries_Specific_to_an_Image_Dictionary.rakumod)|/Type /Subtype /Width /Height /ColorSpace /BitsPerComponent /Intent /ImageMask /Mask /Decode /Interpolate /Alternates /SMask /SMaskInData /Name /StructParent /ID /OPI /Metadata /OC
[Table 91 – Entries in an Alternate Image Dictionary](lib/ISO_32000/Table_91-Entries_in_an_Alternate_Image_Dictionary.rakumod)|/Image /DefaultForPrinting /OC
[Table 95 – Additional Entries Specific to a Type 1 Form Dictionary](lib/ISO_32000/Table_95-Additional_Entries_Specific_to_a_Type_1_Form_Dictionary.rakumod)|/Type /Subtype /FormType /BBox /Matrix /Resources /Group /Ref /Metadata /PieceInfo /LastModified /StructParent /StructParents /OPI /OC /Name
[Table 96 – Entries Common to all Group Attributes Dictionaries](lib/ISO_32000/Table_96-Entries_Common_to_all_Group_Attributes_Dictionaries.rakumod)|/Type /S
[Table 97 – Entries in a Reference Dictionary](lib/ISO_32000/Table_97-Entries_in_a_Reference_Dictionary.rakumod)|/F /Page /ID
[Table 98 – Entries in an Optional Content Group Dictionary](lib/ISO_32000/Table_98-Entries_in_an_Optional_Content_Group_Dictionary.rakumod)|/Type /Name /Intent /Usage
[Table 99 – Entries in an Optional Content Membership Dictionary](lib/ISO_32000/Table_99-Entries_in_an_Optional_Content_Membership_Dictionary.rakumod)|/Type /OCGs /P /VE
[Table 100 – Entries in the Optional Content Properties Dictionary](lib/ISO_32000/Table_100-Entries_in_the_Optional_Content_Properties_Dictionary.rakumod)|/OCGs /D /Configs
[Table 101 – Entries in an Optional Content Configuration Dictionary](lib/ISO_32000/Table_101-Entries_in_an_Optional_Content_Configuration_Dictionary.rakumod)|/Name /Creator /BaseState /ON /OFF /Intent /AS /Order /ListMode /RBGroups /Locked
[Table 102 – Entries in an Optional Content Usage Dictionary](lib/ISO_32000/Table_102-Entries_in_an_Optional_Content_Usage_Dictionary.rakumod)|/CreatorInfo /Language /Export /Zoom /Print /View /User /PageElement
[Table 103 – Entries in a Usage Application Dictionary](lib/ISO_32000/Table_103-Entries_in_a_Usage_Application_Dictionary.rakumod)|/Event /OCGs /Category
[Table 111 – Entries in a Type 1 font dictionary](lib/ISO_32000/Table_111-Entries_in_a_Type_1_font_dictionary.rakumod)|/Type /Subtype /Name /BaseFont /FirstChar /LastChar /Widths /FontDescriptor /Encoding /ToUnicode
[Table 112 – Entries in a Type 3 font dictionary](lib/ISO_32000/Table_112-Entries_in_a_Type_3_font_dictionary.rakumod)|/Type /Subtype /Name /FontBBox /FontMatrix /CharProcs /Encoding /FirstChar /LastChar /Widths /FontDescriptor /Resources /ToUnicode
[Table 114 – Entries in an encoding dictionary](lib/ISO_32000/Table_114-Entries_in_an_encoding_dictionary.rakumod)|/Type /BaseEncoding /Differences
[Table 116 – Entries in a CIDSystemInfo dictionary](lib/ISO_32000/Table_116-Entries_in_a_CIDSystemInfo_dictionary.rakumod)|/Registry /Ordering /Supplement
[Table 117 – Entries in a CIDFont dictionary](lib/ISO_32000/Table_117-Entries_in_a_CIDFont_dictionary.rakumod)|/Type /Subtype /BaseFont /CIDSystemInfo /FontDescriptor /DW /W /DW2 /W2 /CIDToGIDMap
[Table 120 – Additional entries in a CMap stream dictionary](lib/ISO_32000/Table_120-Additional_entries_in_a_CMap_stream_dictionary.rakumod)|/Type /CMapName /CIDSystemInfo /WMode /UseCMap
[Table 121 – Entries in a Type 0 font dictionary](lib/ISO_32000/Table_121-Entries_in_a_Type_0_font_dictionary.rakumod)|/Type /Subtype /BaseFont /Encoding /DescendantFonts /ToUnicode
[Table 122 – Entries common to all font descriptors](lib/ISO_32000/Table_122-Entries_common_to_all_font_descriptors.rakumod)|/Type /FontName /FontFamily /FontStretch /FontWeight /Flags /FontBBox /ItalicAngle /Ascent /Descent /Leading /CapHeight /XHeight /StemV /StemH /AvgWidth /MaxWidth /MissingWidth /FontFile /FontFile2 /FontFile3 /CharSet
[Table 124 – Additional font descriptor entries for CIDFonts](lib/ISO_32000/Table_124-Additional_font_descriptor_entries_for_CIDFonts.rakumod)|/Style /Lang /FD /CIDSet
[Table 126 – Embedded font organization for various font types](lib/ISO_32000/Table_126-Embedded_font_organization_for_various_font_types.rakumod)|/FontFile /FontFile2 /FontFile3
[Table 127 – Additional entries in an embedded font stream dictionary](lib/ISO_32000/Table_127-Additional_entries_in_an_embedded_font_stream_dictionary.rakumod)|/Length1 /Length2 /Length3 /Subtype /Metadata
[Table 130 – Entries in a type 1 halftone dictionary](lib/ISO_32000/Table_130-Entries_in_a_type_1_halftone_dictionary.rakumod)|/Type /HalftoneType /HalftoneName /Frequency /Angle /SpotFunction /AccurateScreens /TransferFunction
[Table 131 – Additional entries specific to a type 6 halftone dictionary](lib/ISO_32000/Table_131-Additional_entries_specific_to_a_type_6_halftone_dictionary.rakumod)|/Type /HalftoneType /HalftoneName /Width /Height /TransferFunction
[Table 132 – Additional entries specific to a type 10 halftone dictionary](lib/ISO_32000/Table_132-Additional_entries_specific_to_a_type_10_halftone_dictionary.rakumod)|/Type /HalftoneType /HalftoneName /Xsquare /Ysquare /TransferFunction
[Table 133 – Additional entries specific to a type 16 halftone dictionary](lib/ISO_32000/Table_133-Additional_entries_specific_to_a_type_16_halftone_dictionary.rakumod)|/Type /HalftoneType /HalftoneName /Width /Height /Width2 /Height2 /TransferFunction
[Table 134 – Entries in a type 5 halftone dictionary](lib/ISO_32000/Table_134-Entries_in_a_type_5_halftone_dictionary.rakumod)|/Type /HalftoneType /HalftoneName /Default
[Table 144 – Entries in a soft-mask dictionary](lib/ISO_32000/Table_144-Entries_in_a_soft-mask_dictionary.rakumod)|/Type /S /G /BC /TR
[Table 146 – Additional entry in a soft-mask image dictionary](lib/ISO_32000/Table_146-Additional_entry_in_a_soft-mask_image_dictionary.rakumod)|/Matte
[Table 147 – Additional entries specific to a transparency group attributes dictionary](lib/ISO_32000/Table_147-Additional_entries_specific_to_a_transparency_group_attributes_dictionary.rakumod)|/S /CS /I /K
[Table 150 – Entries in a viewer preferences dictionary](lib/ISO_32000/Table_150-Entries_in_a_viewer_preferences_dictionary.rakumod)|/HideToolbar /HideMenubar /HideWindowUI /FitWindow /CenterWindow /DisplayDocTitle /NonFullScreenPageMode /Direction /ViewArea /ViewClip /PrintArea /PrintClip /PrintScaling /Duplex /PickTrayByPDFSize /PrintPageRange /NumCopies
[Table 152 – Entries in the outline dictionary](lib/ISO_32000/Table_152-Entries_in_the_outline_dictionary.rakumod)|/Type /First /Last /Count
[Table 153 – Entries in an outline item dictionary](lib/ISO_32000/Table_153-Entries_in_an_outline_item_dictionary.rakumod)|/Title /Parent /Prev /Next /First /Last /Count /Dest /A /SE /C /F
[Table 155 – Entries in a collection dictionary](lib/ISO_32000/Table_155-Entries_in_a_collection_dictionary.rakumod)|/Type /Schema /D /View /Sort
[Table 156 – Entries in a collection schema dictionary](lib/ISO_32000/Table_156-Entries_in_a_collection_schema_dictionary.rakumod)|/Type
[Table 157 – Entries in a collection field dictionary](lib/ISO_32000/Table_157-Entries_in_a_collection_field_dictionary.rakumod)|/Type /Subtype /N /O /V /E
[Table 158 – Entries in a collection sort dictionary](lib/ISO_32000/Table_158-Entries_in_a_collection_sort_dictionary.rakumod)|/Type /S /A
[Table 159 – Entries in a page label dictionary](lib/ISO_32000/Table_159-Entries_in_a_page_label_dictionary.rakumod)|/Type /S /P /St
[Table 160 – Entries in a thread dictionary](lib/ISO_32000/Table_160-Entries_in_a_thread_dictionary.rakumod)|/Type /F /I
[Table 161 – Entries in a bead dictionary](lib/ISO_32000/Table_161-Entries_in_a_bead_dictionary.rakumod)|/Type /T /N /V /P /R
[Table 162 – Entries in a transition dictionary](lib/ISO_32000/Table_162-Entries_in_a_transition_dictionary.rakumod)|/Type /S /D /Dm /M /Di /SS /B
[Table 163 – Entries in a navigation node dictionary](lib/ISO_32000/Table_163-Entries_in_a_navigation_node_dictionary.rakumod)|/Type /NA /PA /Next /Prev /Dur
[Table 164 – Entries common to all annotation dictionaries](lib/ISO_32000/Table_164-Entries_common_to_all_annotation_dictionaries.rakumod)|/Type /Subtype /Rect /Contents /P /NM /M /F /AP /AS /Border /C /StructParent /OC
[Table 166 – Entries in a border style dictionary](lib/ISO_32000/Table_166-Entries_in_a_border_style_dictionary.rakumod)|/Type /W /S /D
[Table 167 – Entries in a border effect dictionary](lib/ISO_32000/Table_167-Entries_in_a_border_effect_dictionary.rakumod)|/S /I
[Table 168 – Entries in an appearance dictionary](lib/ISO_32000/Table_168-Entries_in_an_appearance_dictionary.rakumod)|/N /R /D
[Table 170 – Additional entries specific to markup annotations](lib/ISO_32000/Table_170-Additional_entries_specific_to_markup_annotations.rakumod)|/T /Popup /CA /RC /CreationDate /IRT /Subj /RT /IT /ExData
[Table 172 – Additional entries specific to a text annotation](lib/ISO_32000/Table_172-Additional_entries_specific_to_a_text_annotation.rakumod)|/Subtype /Open /Name /State /StateModel
[Table 173 – Additional entries specific to a link annotation](lib/ISO_32000/Table_173-Additional_entries_specific_to_a_link_annotation.rakumod)|/Subtype /A /Dest /H /PA /QuadPoints /BS
[Table 174 – Additional entries specific to a free text annotation](lib/ISO_32000/Table_174-Additional_entries_specific_to_a_free_text_annotation.rakumod)|/Subtype /DA /Q /RC /DS /CL /IT /BE /RD /BS /LE
[Table 175 – Additional entries specific to a line annotation](lib/ISO_32000/Table_175-Additional_entries_specific_to_a_line_annotation.rakumod)|/Subtype /L /BS /LE /IC /LL /LLE /Cap /IT /LLO /CP /Measure /CO
[Table 177 – Additional entries specific to a square or circle annotation](lib/ISO_32000/Table_177-Additional_entries_specific_to_a_square_or_circle_annotation.rakumod)|/Subtype /BS /IC /BE /RD
[Table 178 – Additional entries specific to a polygon or polyline annotation](lib/ISO_32000/Table_178-Additional_entries_specific_to_a_polygon_or_polyline_annotation.rakumod)|/Subtype /Vertices /LE /BS /IC /BE /IT /Measure
[Table 179 – Additional entries specific to text markup annotations](lib/ISO_32000/Table_179-Additional_entries_specific_to_text_markup_annotations.rakumod)|/Subtype /QuadPoints
[Table 180 – Additional entries specific to a caret annotation](lib/ISO_32000/Table_180-Additional_entries_specific_to_a_caret_annotation.rakumod)|/Subtype /RD /Sy
[Table 181 – Additional entries specific to a rubber stamp annotation](lib/ISO_32000/Table_181-Additional_entries_specific_to_a_rubber_stamp_annotation.rakumod)|/Subtype /Name
[Table 182 – Additional entries specific to an ink annotation](lib/ISO_32000/Table_182-Additional_entries_specific_to_an_ink_annotation.rakumod)|/Subtype /InkList /BS
[Table 183 – Additional entries specific to a pop-up annotation](lib/ISO_32000/Table_183-Additional_entries_specific_to_a_pop-up_annotation.rakumod)|/Subtype /Parent /Open
[Table 184 – Additional entries specific to a file attachment annotation](lib/ISO_32000/Table_184-Additional_entries_specific_to_a_file_attachment_annotation.rakumod)|/Subtype /FS /Name
[Table 185 – Additional entries specific to a sound annotation](lib/ISO_32000/Table_185-Additional_entries_specific_to_a_sound_annotation.rakumod)|/Subtype /Sound /Name
[Table 186 – Additional entries specific to a movie annotation](lib/ISO_32000/Table_186-Additional_entries_specific_to_a_movie_annotation.rakumod)|/Subtype /T /Movie /A
[Table 187 – Additional entries specific to a screen annotation](lib/ISO_32000/Table_187-Additional_entries_specific_to_a_screen_annotation.rakumod)|/Subtype /T /MK /A /AA
[Table 188 – Additional entries specific to a widget annotation](lib/ISO_32000/Table_188-Additional_entries_specific_to_a_widget_annotation.rakumod)|/Subtype /H /MK /A /AA /BS /Parent
[Table 189 – Entries in an appearance characteristics dictionary](lib/ISO_32000/Table_18