Root element definining a composition of one or several pages. Define the outline / bookmarks of the document, typically the structure of pages. But bookmarks may also point to particular elements in a page. Recursive list of OutlineItem. An OutlineItem may be final or a parent of child OutlineItem. If the OutlineItem has children, the open attribute controls whether the children list must be folded or not. An OutlineItem may have zero, one or several acssociated actions. User visible name of the outline item. Whether children outline items should be unfolded. Abstract action element type Abstract action element Goto a destination page. The x1, y1, x2, y2 attributes may also be defined to zoom-in on a particular area of the page. Turn all layers on or off. Later SetAllLayersStateAction/SetLayerStateAction might change this state. Turn a specific layer on off. Later SetAllLayersStateAction/SetLayerStateAction might change this state. Execute a Javascript action. See https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf The script must be put as the content of the element. The XMP payload must be serialized in a XML-escaped way Hierarchical definition of layers ("Optional Content Group" in PDF parlance) Common to all pages, but their visibility in the layer tree can be controlled with the displayOnlyOnVisiblePages attribute. Whether to list, in the layer tree, layers that are referenced by at at least one currently visible page(s). Default is false, that is the layers are always listed. Define a Layer ("Optional Content Group" in PDF parlance) Arbitrary id, unique to the layer. Will be cross-referenced by IfLayerOnType#layerId to define conditional visibility. User visible name Arbitrary id defining a group of mutually exclusive layers. Layers referencing to the same #mutuallyExclusiveGroupId value will be mutually exclusive. Arbitrary id, unique to the page. Required if the page must be referenced by a OutlineItem. CRS WKT string, or EPSG:XXXX code. Define the viewport where georeferenced coordinates are available. If not specified, the extent of BoundingPolygon will be used instead. If none of BoundingBox and BoundingPolygon are specified, the whole PDF page will be assumed to be georeferenced. Define a polygon / neatline in PDF units into which the Measure tool will display coordinates. If not specified, BoundingBox will be used instead. If none of BoundingBox and BoundingPolygon are specified, the whole PDF page will be assumed to be georeferenced. Those points define the mapping from PDF coordinates to georeferenced coordinates. At least 4 of them must be provided. They do not need to form a rectangle neither in PDF coordinate space nor in georeferenced coordinate space. However if the georeferenced area is referenced to by content, they must be evaluated to a geotransform, without rotation or shearing. ID that can be refered to to automatically place content. The georeferencing area ca be referenced to, only if the control points define an affine geotransform, without rotation or shearing, from PDF coordinate space to georeferenced coordinate space. ISO-32000 extension format is the georeferencing format recognized by the Measure / Geographic location tool of Acrobat reader. OGC Best Practice format is the georeferencing format recognized by the Terrago Toolbar. It seems that within a PDF file, there should be only georeferenced areas encoded with the OGC Best Practice so that the Terrago Toolbar accepts to read them. Defines the data axis to SRS axis mapping. List of comma-separated axis number (starting at 1). Used to interpret the GeoX and GeoY attribute meaning. If not specified, the traditional GIS order is assumed. x2 must be > x1 and y2 > y1 X value of the control point expressed in the SRS Y value of the control point expressed in the SRS Sequence of raster, vector, labels, content from other PDF document, or conditionalized content of any of the above types. The content is drawn in the order it is mentionned, that is the first mentionned item is drawn first, and the last mentionned item is drawn last. Insert the content stream of the (first page of the) PDF, together with its resources, without any extra rasterization. Optional content groups or georeferencing potentially found in the PDF to insert are ignored. The dimensions of the inserted PDF are assumed to be the same as the PDF where it is inserted. Insert raster (or rasterized) content from a GDAL dataset. There are two modes: - one where the raster potential georeferencing is completely ignored, and the image is put at the specified PDF coordinates. I which case , x1, y1, x2, y2 are in PDF coordinate units and represent the area where the image will be stretched. If not specified, the whole PDF page is occupied. x2 must be > x1 and y2 > y1. - another one, when the georeferencingId attribute is defined, and reference a georeferenced area. In that case, the raster geotransform will be used to correctly place it in the georeferenced area. GDAL dataset name References a georeferenced area in the same page through its Georeferencing#id Only applies when method=JPEG. If not specified, if the source raster is a JPEG file, its codestream will be used directly. Otherwise, the image will be compressed with a quality of 75%. Only applies when method=DEFALTE Insert vector content from a OGR dataset. There are two modes: - The coordinates of the vector features must be in PDF coordinate units. This is when the georeferencingId attributes is not set. - another one, when the georeferencingId attribute is defined, and reference a georeferenced area. In that case, the vector georeferenced coordinates will be used to correctly place it in the georeferenced area. OGR dataset name OGR layer name References a georeferenced area in the same page through its Georeferencing#id Whether objects should be drawn or not Name of the attribute whose value is used to create a hyperlink String overriding per-feature style The LogicalStructure element should be put when the features of the layer should be written in the logical structure of the document, and thus visible in the "Model Tree" of Acrobat reader. By default, all OGR fields are included. Whether all fields should be excluded, but the one(s) potentially mentioned in IncludeField. Name of OGR field to include. Whether all fields should be included, but the one(s) potentially mentioned in ExcludeField. Name of OGR field to exclude. Name of the layer that will appear in the PDF reader. If not specified, this wil be the OGR layer name. Name of the OGR field whose value should be display for each feature in feature tree of the PDF reader. If not specified, this will "feature{FID}". Insert text labels for features from a OGR dataset. The features must be associated with a OGR Feature Style string with a LABEL tool. Only LATIN-1 characters will be correctly output. There are two modes: - The coordinates of the vector features must be in PDF coordinate units. This is when the georeferencingId attributes is not set. - another one, when the georeferencingId attribute is defined, and reference a georeferenced area. In that case, the vector georeferenced coordinates will be used to correctly place it in the georeferenced area. OGR dataset name OGR layer name References a georeferenced area in the same page through its Georeferencing#id String overriding per-feature style Blend mode as defined in PDF reference version 1.7 page 520, Table 7.2 "Standard separable blend modes". Conditionalize content display to the On status of a layer. IfLayerOn elements can be nested. And in general, the nesting used to define the layers should be used to define the conditional content too, because toggling off a upper-level layer in Acrobat does not change the state of its children. For example: <Layer id="A" name="A"> <Layer id="A.1" name="A.1""></Layer> </Layer> <IfLayerOnType layerId="A"> <IfLayerOnType layerId="A.1"> .... </IfLayerOnType> </IfLayerOnType> Should reference a Layer#id attribute.