sig
  type encoding = Raw | UTF8 | Stripped
  val encode_output : Cpdfmetadata.encoding -> string -> string
  val copy_id : bool -> Pdf.t -> Pdf.t -> Pdf.t
  val set_pdf_info :
    ?xmp_also:bool ->
    ?xmp_just_set:bool -> string * Pdf.pdfobject * int -> Pdf.t -> Pdf.t
  val get_xmp_info : Pdf.t -> string -> string
  val set_viewer_preference : string * Pdf.pdfobject * int -> Pdf.t -> Pdf.t
  val set_page_layout : Pdf.t -> string -> Pdf.t
  val set_page_mode : Pdf.t -> string -> Pdf.t
  val set_non_full_screen_page_mode : Pdf.t -> string -> Pdf.t
  val set_open_action : Pdf.t -> ?dest:string -> bool -> int -> Pdf.t
  val set_version : int -> Pdf.t -> unit
  val get_info_utf8 : Pdf.t -> string -> string
  val output_info :
    ?json:(string * Cpdfyojson.Safe.t) list Stdlib.ref ->
    Cpdfmetadata.encoding -> Pdf.t -> unit
  val output_xmp_info :
    ?json:(string * Cpdfyojson.Safe.t) list Stdlib.ref ->
    Cpdfmetadata.encoding -> Pdf.t -> unit
  val create_metadata : Pdf.t -> Pdf.t
  val set_metadata : bool -> string -> Pdf.t -> Pdf.t
  val set_metadata_from_bytes : bool -> Pdfio.bytes -> Pdf.t -> Pdf.t
  val remove_metadata : Pdf.t -> Pdf.t
  val get_metadata : Pdf.t -> Pdfio.bytes option
  val print_metadata : Pdf.t -> unit
  val set_metadata_date : Pdf.t -> string -> Pdf.t
  val expand_date : string -> string
  val get_catalog_item : string -> Pdf.t -> string
  val get_viewer_pref_item : string -> Pdf.t -> string
  val determine_subformats : Pdf.t -> string list
  val language : Pdf.t -> string option
  val set_language : Pdf.t -> string -> unit
  val adobe : string
  val xmp : string
  val dc : string
  val rdf : string
  val pdfaid : string
  val pdfxid : string
  val pdfe : string
  val pdfuaid : string
  val pdfvtid : string
  type xmltree = E of Cpdfxmlm.tag * Cpdfmetadata.xmltree list | D of string
  val xmltree_of_bytes : Pdfio.bytes -> Cpdfxmlm.dtd * Cpdfmetadata.xmltree
  val get_data_for :
    string -> string -> Cpdfmetadata.xmltree -> string option
  val string_of_xmltree : Cpdfmetadata.xmltree -> string
  val bytes_of_xmltree : Cpdfxmlm.dtd * Cpdfmetadata.xmltree -> Pdfio.bytes
end