NME
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 4- METADATA 4.1- DJVULIBRE METADATA DjVuLibre has introduced metadata annotations a few years ago. Metadata entries for each page are represent by key/value pairs located in a metadata directive in the annotation chunk. Metadata entries for the document are represented similarly using the methods described in the next section. The metadata directive has the form (metadata ... (key "value") ... ) Each entry is identified by a symbol <key> representing the nature of the metadata entry. The string <"value"> represents the value associated with the corresponding key. Several sets of keys are noteworthy. * Keys borrowed from the BibTex bibliography system. These key names are always expressed in lowercase, such as 'year', 'booktitle', 'editor', 'author', etc. * Keys borrowed from the PDF DocInfo. These key names start with an uppercase letter: 'Title', 'Author', 'Subject', 'Keywords', 'Creator', 'Producer', 'Trapped', 'CreationDate', and 'ModDate'. The values associated with the last two keys should be dates expressed according to RFC 3339. 4.2- XMP METADATA The XMP specification describes a general purpose RDF/XML format for metadata. Just like DjVuLibre metadata, XMP metadata is embedded in an annotation chunk at the page or document level using the following annotation directive (xmp "<rdf:RDF xmlns:rdf=... [escaped XMP here] ...</rdf:RDF>") The sole argument of the xmp directive is the serialized XMP data without the "xpacket" wrapper. The "x:xmpmeta" element may also be dropped. Only elements from "rdf:RDF" inwards are needed. Since the XMP data is represented as a string, doublequotes and backslashes must be escaped. Other characters may be escaped as well (see section 2 above). The full XMP specification is available from Adobe: http://www.adobe.com/devnet/xmp/ To maximize interoperability with current viewers, it is recommended that XMP manipulation programs keep the DjVuLibre metadata in sync. This is facilitated by synchronizing the PDF DocInfo keys with XMP properties as follows: DocInfo key XMP property ------------ --------------- Title dc:title Author dc:creator Subject dc:description Keywords pdf:Keywords Producer pdf:Producer Trapped pdf:Trapped Creator xmp:CreatorTool CreationDate xmp:CreateDate ModDate xmp:ModifyDate 4.3- DOCUMENT ANNOTATIONS AND METADATA The above schemes provide ways to specify metadata for each page. But it is often useful to provide metadata that applies to the whole document. Document wide metadata are represented using one or several metadata directives in the shared annotations chunk. This scheme has a potential drawback. Since the shared annotations is included by all pages, the document wide metadata also appears as page metadata for all pages. This might not be adequate for some uses. As a workaround, the djview4 viewer only displays page metadata that differ from the document metadata. A more definitive answer would be the definition of a document annotation chunk located after the DIRM chunk and before any component file. This space is already used by the NAVM chunk. This is being considered. |