PdfElixide.Document.XmpMetadata (pdf_elixide v0.9.0)

Copy Markdown View Source

XMP (Extensible Metadata Platform) metadata — the XML-based metadata packet a PDF may carry in addition to, or instead of, the /Info dictionary (PdfElixide.Document.Metadata).

Obtain it with PdfElixide.Document.xmp_metadata/1, which returns nil when the document has no XMP packet. Field names drop the XMP namespace prefixes (dc: / xmp: / pdf: / xmpRights:).

Fields

  • :title, :description — Dublin Core dc:title / dc:description.
  • :creators, :subjects — Dublin Core dc:creator / dc:subject as lists (XMP models these as ordered arrays).
  • :language, :rights, :formatdc:language / dc:rights / dc:format.
  • :creator_toolxmp:CreatorTool.
  • :create_date, :modify_date, :metadata_datexmp:CreateDate / xmp:ModifyDate / xmp:MetadataDate (raw XMP date strings).
  • :producer, :keywords, :pdf_version, :trapped — the pdf: namespace.
  • :rights_usage_terms, :rights_marked, :rights_web_statement — the xmpRights: namespace (:rights_marked is a boolean or nil).
  • :custom — a map of any other namespace:property => value pairs.
  • :raw_xml — the original XMP packet as a string, or nil.

Summary

Types

t()

@type t() :: %PdfElixide.Document.XmpMetadata{
  create_date: String.t() | nil,
  creator_tool: String.t() | nil,
  creators: [String.t()],
  custom: %{required(String.t()) => String.t()},
  description: String.t() | nil,
  format: String.t() | nil,
  keywords: String.t() | nil,
  language: String.t() | nil,
  metadata_date: String.t() | nil,
  modify_date: String.t() | nil,
  pdf_version: String.t() | nil,
  producer: String.t() | nil,
  raw_xml: String.t() | nil,
  rights: String.t() | nil,
  rights_marked: boolean() | nil,
  rights_usage_terms: String.t() | nil,
  rights_web_statement: String.t() | nil,
  subjects: [String.t()],
  title: String.t() | nil,
  trapped: String.t() | nil
}