## PDF Tags

The tags listed in the PDF tables below are those which are used by ExifTool to extract meta information, but they are only a small fraction of the total number of available PDF tags. See http://www.adobe.com/devnet/pdf/pdf_reference.html for the official PDF specification.

ExifTool supports reading and writing PDF documents up to version 2.0, including support for RC4, AES-128 and AES-256 encryption. A Password option is provided to allow processing of password-protected PDF files.

ExifTool may be used to write native PDF and XMP metadata to PDF files. It uses an incremental update technique that has the advantages of being both fast and reversible. If ExifTool was used to modify a PDF file, the original may be recovered by deleting the `PDF-update` pseudo-group (with `-PDF-update:all=` on the command line). However, there are two main disadvantages to this technique:

1) A linearized PDF file is no longer linearized after the update, so it must be subsequently re-linearized if this is required.

2) All metadata edits are reversible. While this would normally be considered an advantage, it is a potential security problem because old information is never actually deleted from the file. (However, after running ExifTool the old information may be removed permanently using the "qpdf" utility with this command: "qpdf --linearize in.pdf out.pdf".)

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Encrypt' | Encrypt | - | --> PDF Encrypt Tags
> 'Info' | Info | - | --> PDF Info Tags
> 'Root' | Root | - | --> PDF Root Tags
> '_linearized' | Linearized | no | (flag set if document is linearized for fast web display; not a real Tag ID) 'false' = No 'true' = Yes

## PDF Encrypt Tags

Tags extracted from the document Encrypt dictionary.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Filter' | Encryption | no | (extracted value is actually a combination of the Filter, SubFilter, V, R and Length information from the Encrypt dictionary)
> 'P' | UserAccess | no |
> Bit 2 = Print Bit 3 = Modify Bit 4 = Copy Bit 5 = Annotate |  | Bit 8 = Fill forms Bit 9 = Extract Bit 10 = Assemble Bit 11 = Print high-res

## PDF Info Tags

As well as the tags listed below, the PDF specification allows for user-defined tags to exist in the Info dictionary. These tags, which should have corresponding XMP-pdfx entries in the XMP of the PDF XML Metadata object, are also extracted by ExifTool.

Writable specifies the value format, and may be `string`, `date`, `integer`, `real`, `boolean` or `name` for PDF tags.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'AAPL:Keywords' | AppleKeywords | string+ | (keywords written by Apple utilities, although they seem to use PDF:Keywords when reading)
> 'Author' | Author | string |
> 'CreationDate' | CreateDate | date |
> 'Creator' | Creator | string |
> 'Keywords' | Keywords | string+ | (stored as a string but treated as a comma- or semicolon-separated list of items when reading if the string contains commas or semicolons, whichever is more numerous, otherwise it is treated a space-separated list of items. The list behaviour may be defeated by setting the API NoPDFList option. Written as a comma-separated string. Note that the corresponding XMP-pdf:Keywords tag is not treated as a list, so the NoPDFList option should be used when copying between these two.)
> 'ModDate' | ModifyDate | date |
> 'Producer' | Producer | string |
> 'Subject' | Subject | string |
> 'Title' | Title | string |
> 'Trapped' | Trapped | string! |

## PDF Root Tags

This is the PDF document catalog.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'AF' | AF | - | --> PDF AF Tags
> 'AcroForm' | AcroForm | - | --> PDF AcroForm Tags
> 'Lang' | Language | no |
> 'MarkInfo' | MarkInfo | - | --> PDF MarkInfo Tags
> 'Metadata' | Metadata | - | --> PDF Metadata Tags
> 'PageLayout' | PageLayout | no |
> 'PageMode' | PageMode | no |
> 'Pages' | Pages | - | --> PDF Pages Tags
> 'Perms' | Perms | - | --> PDF Perms Tags
> 'Version' | PDFVersion | no |

## PDF AF Tags

Processed only for C2PA information if AFRelationship is "/C2PA_Manifest".

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'EF' | EF | - | --> PDF EF Tags

## PDF EF Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'F' | F_ | - | --> PDF F Tags

## PDF F Tags

C2PA JUMBF metadata extracted from "/C2PA_Manifest" file.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> '_stream' | JUMBF | - | --> Jpeg2000 Tags

## PDF AcroForm Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> '_has_xfa' | HasXFA | no | (this tag is defined if a document contains form fields, and is true if it uses XML Forms Architecture; not a real Tag ID) 'false' = No 'true' = Yes

## PDF MarkInfo Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Marked' | TaggedPDF | no | (not a Tagged PDF if this tag is missing) 'false' = No 'true' = Yes

## PDF Metadata Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'XML_stream' | XMP | - | --> XMP Tags

## PDF Pages Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Count' | PageCount | no |
> 'Kids' | Kids | - | --> PDF Kids Tags

## PDF Kids Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Kids' | Kids | - | --> PDF Kids Tags
> 'Metadata' | Metadata | - | --> PDF Metadata Tags
> 'PieceInfo' | PieceInfo | - | --> PDF PieceInfo Tags
> 'Resources' | Resources | - | --> PDF Resources Tags

## PDF PieceInfo Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'AdobePhotoshop' | AdobePhotoshop | - | --> PDF AdobePhotoshop Tags
> 'Illustrator' | Illustrator | - | --> PDF Illustrator Tags

## PDF AdobePhotoshop Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Private' | Private | - | --> PDF Private Tags

## PDF Private Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'ImageResources' | ImageResources | - | --> PDF ImageResources Tags

## PDF ImageResources Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> '_stream' | _stream | - | --> Photoshop Tags

## PDF Illustrator Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Private' | Private | - | --> PDF AIPrivate Tags

## PDF AIPrivate Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'AIMetaData' | AIMetaData | - | --> PDF AIMetaData Tags
> 'AIPDFPrivateData' | AIPDFPrivateData | - | --> PostScript Tags
> 'AIPrivateData' | AIPrivateData | - | --> PostScript Tags (the ExtractEmbedded option enables information to be extracted from embedded PostScript documents in the AIPrivateData# and AIPDFPrivateData# streams)
> 'ContainerVersion' | ContainerVersion | no |
> 'CreatorVersion' | CreatorVersion | no |
> 'RoundTripVersion' | RoundTripVersion | no |

## PDF AIMetaData Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> '_stream' | _stream | - | --> PostScript Tags

## PDF Resources Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'ColorSpace' | ColorSpace | - | --> PDF ColorSpace Tags
> 'Properties' | Properties | - | --> PDF Properties Tags
> 'XObject' | XObject | - | --> PDF XObject Tags

## PDF ColorSpace Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'CS0' | CS0 | - | --> PDF DefaultRGB Tags
> 'Cs1' | Cs1 | - | --> PDF DefaultRGB Tags
> 'DefaultCMYK' | DefaultCMYK | - | --> PDF DefaultRGB Tags
> 'DefaultRGB' | DefaultRGB | - | --> PDF DefaultRGB Tags

## PDF DefaultRGB Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'ICCBased' | ICCBased | - | --> PDF ICCBased Tags

## PDF ICCBased Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> '_stream' | _stream | - | --> ICC_Profile Tags

## PDF Properties Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'MC' | MC | - | --> PDF MC Tags (the ExtractEmbedded option enables information to be extracted from these embedded metadata dictionaries)

## PDF MC Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Metadata' | Metadata | - | --> PDF Metadata Tags

## PDF XObject Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Im' | Im | - | --> PDF Im Tags (the ExtractEmbedded option enables information to be extracted from these embedded images)

## PDF Im Tags

Information extracted from embedded images with the ExtractEmbedded option. The EmbeddedImage and its metadata are extracted only for JPEG and Jpeg2000 image formats.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'ColorSpace' | EmbeddedImageColorSpace | no+ |
> 'Filter' | EmbeddedImageFilter | no+ |
> 'Height' | EmbeddedImageHeight | no |
> 'Image_stream' | EmbeddedImage | no |
> 'Width' | EmbeddedImageWidth | no |

## PDF Perms Tags

Additional document permissions imposed by digital signatures.

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'DocMDP' | DocMDP | - | --> PDF Signature Tags
> 'FieldMDP' | FieldMDP | - | --> PDF Signature Tags
> 'UR3' | UR3 | - | --> PDF Signature Tags

## PDF Signature Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'ContactInfo' | SignerContactInfo | no |
> 'Location' | SigningLocation | no |
> 'M' | SigningDate | no |
> 'Name' | SigningAuthority | no |
> 'Prop_AuthTime' | AuthenticationTime | no |
> 'Prop_AuthType' | AuthenticationType | no |
> 'Reason' | SigningReason | no |
> 'Reference' | Reference | - | --> PDF Reference Tags

## PDF Reference Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'TransformParams' | TransformParams | - | --> PDF TransformParams Tags

## PDF TransformParams Tags

> Tag ID | Tag Name | Writable | Values / Notes
> --- | --- | --- | ---
> 'Action' | FieldPermissions | no | (FieldMDP signatures only) 'All' = Disallow changes to all form fields 'Exclude' = Allow changes to specified form fields 'Include' = Disallow changes to specified form fields
> 'Annots' | AnnotationUsageRights | no+ | (possible values are Create, Delete, Modify, Copy, Import and Export; additional values for UR3 signatures are Online and SummaryView)
> 'Document' | DocumentUsageRights | no+ | (only possible value is FullSave)
> 'EF' | EmbeddedFileUsageRights | no+ | (possible values are Create, Delete, Modify and Import)
> 'Fields' | FormFields | no+ | (FieldMDP signatures only)
> 'Form' | FormUsageRights | no+ | (possible values are FillIn, Import, Export, SubmitStandalone and SpawnTemplate; additional values for UR3 signatures are BarcodePlaintext and Online)
> 'FormEX' | FormExtraUsageRights | no+ | (UR signatures only; only possible value is BarcodePlaintext)
> 'Msg' | UsageRightsMessage | no |
> 'P' | ModificationPermissions | no | (1-3 for DocMDP signatures, default 2; true/false for UR3 signatures, default false) 1 = No changes permitted 2 = Fill forms, Create page templates, Sign 3 = Fill forms, Create page templates, Sign, Create/Delete/Edit annotations 'false' = Do not restrict applications to reader permissions 'true' = Restrict all applications to reader permissions
> 'Signature' | SignatureUsageRights | no+ | (only possible value is Modify)

(This document generated automatically by Image::ExifTool::BuildTagLookup)
Last revised Mar 5, 2024

<-- ExifTool Tag Names