Blog

Stop Press

Tony Hammond

Tony Hammond – 2007 August 28

In Metadata

Boy, was I ever so wrong! Contrary to what I said in yesterdayā€™s post, the new PRISM 2.0 spec does support XMP value type mappings for its terms. See the table below which lists the PRISM basic vocabulary terms and the XMP value types.

Many thanks to Dianne Kennedy and the rest of the PRISM Working Group for having added this support to PRISM 2.0.

ExifTool

Tony Hammond

Tony Hammond – 2007 August 27

In Metadata

(Update - 2007.08.28: I inadvertently missed out the term names in the last example of XMP as RDF/N3 with QNames and have now added these in. Also - a biggie - I said that PRISM had no XMP schema defined. This is actually wrong and as I blogged here today, the new PRISM 2.0 spec does indeed have a mapping of PRISM terms to XMP value types. Should actually have read the spec instead of just blogging about it earlier here. :~)

Having previously stooped to an extremely crass hack for pulling out a document information dictionary from PDFs (for which no apologies are sufficient but it does often work) I feel I should make some kind of amends and mention the wonderful ExifTool by Phil Harvey for reading and writing metadata to media files. This is both a Perl library and command-line application (so itā€™s cross-platform - a Windows .exe and Mac OS .dmg are also provided.) Besides handling EXIF tags in image files this veritable swissknife of metadata inspectors can also read PDFs for the information dictionary and the document XMP packet. And moreover, intriguingly, can dump the raw (document) XMP packet.

Iā€™m still experimenting with it. Thereā€™s quite a number of features to explore. But some preliminary finds are listed below.

Weird Scenes Inside the Gold Mine

Tony Hammond

Tony Hammond – 2007 August 22

In Metadata

So, following up on my recent posts here on Metadata in PDFs (Strategies, Use Cases, Deployment), I finally came across PDF/A and PDF/X, two ISO standardized subsets of PDF. the former (ISO 19005-1:2005) for archiving and the latter (ISO 15929:2002, ISO 15930-1:2001, etc.) for prepress digital data exchange.

Both formats share some common ground such as minimizing surprises between producer and consumer and keeping things open and predictable. But my interest here is specifically in metadata and to see what guidance these standards might provide us. Not unsurprisingly, metadata is a key issue for PDF/A, less so for PDF/X. Iā€™ll discuss PDF/X briefly but the bulk of this post is focussed on PDF/A. See below.

Metadata in PDF: 3. Deployment

Tony Hammond

Tony Hammond – 2007 August 02

In Metadata

So, assuming we know the form of the metadata we wish to add to our PDFs (or else to comply with if there is already a set of guidelines, or some industry initiative in effect) how can we realize this? And, on the flip side, how can we make it easier for consumers to extract metadata we have embedded in our PDFs.

Below are some considerations on deploying metadata in PDFs and consumer access.

PRISM 2.0

Tony Hammond

Tony Hammond – 2007 August 02

In Metadata

Only just caught up with this but the PRISM 2.0 draft is now available (since July 12) for public comment. See this posted by Dianne Kennedy: _ā€œJust a note to let you know that PRISM 2.0 has just been posted at www.prismstandard.org . This is the first major revision to PRISM. We have incorporated new elements to support online content and have expanded and revised our controlled vocabularies. In addition we have added a profile to support PRISM in an XMP environment.

Metadata in PDF: 1. Strategies

Tony Hammond

Tony Hammond – 2007 August 01

In Metadata

Emboldened by my own researches, by the recent handle plugin announcement from CNRI (on which, more in a follow-on post), and by Alexander Griekspoorā€™s comment to my earlier post, I thought Iā€™d write a more extensive piece about embedding metadata in PDF with a view to the following: Discover what other publishers are currently doing Stimulate discussions between content providers and/or consumers Lay groundwork for a Crossref best practice guidelines Why should Crossref be interested?

Metadata in PDF: 2. Use Cases

Tony Hammond

Tony Hammond – 2007 August 01

In Metadata

Well, this is likely to be a fairly brief post as Iā€™m not aware of many use cases of metadata in PDFs from scholarly publishers. Certainly, I can say for Nature that we havenā€™t done much in this direction yet although are now beginning to look into this.

Iā€™ll discuss a couple cases found in the wild but invite comment as to othersā€™ practices. Let me start though with the CNRI handle plugin demo for Acrobat which I blogged here.

Handle Acrobat Reader Plugin

Tony Hammond

Tony Hammond – 2007 July 31

In Metadata

Just announced on the handle-info list is a new plugin from CNRI for Acrobat Reader - see here. The announcement says: _ā€œIt is intended to demonstrate the utility of embedding a identifying handle in a PDF document. ā€¦ A set of demonstration documents, each with an embedded identifying handle, is packaged with the plug-in to show potential uses. To make productive use of this technology, a given industry or community of

XMP: First Hacks

Tony Hammond

Tony Hammond – 2007 July 27

In Metadata

<span >(<b>Update - 2007.07.28:</b> I meant to reference in this entry Pierre Lindenbaumā€™s post back in May <a href="http://plindenbaum.blogspot.com/2007/05/is-there-any-xmp-in-scientific-pdf-no.html">Is there any XMP in scientific pdf ? (No)</a>, which btw also references Roderic Pageā€™s post on <a href="http://iphylo.blogspot.com/2007/05/xmp.html">XMP</a> but forgot to add in the links in my haste to scoot off. Well, truth is we still canā€™t answer Pierre in the affirmative but at least we can take the first steps towards rectifying this.)

<span >Iā€™ve been revisiting Adobeā€™s <a href="http://www.adobe.com/products/xmp/">XMP</a> just recently. (I blogged <a href="/blog/xmp-capabilities-extended//">here</a> about the new <a href="http://www.adobe.com/devnet/xmp/">XMP Toolkit 4.1</a> back in March.)

<span >I wanted to share some of my early experiences. First off, after a couple of previous attempts which got pushed aside due to other projects, I managed to compile the libraries and the sample apps that ship with the C++ SDK under Xcode on the Mac. I also needed to compile <a href="https://libexpat.github.io/">Expat</a> first which doesnā€™t ship with the distribution.

<span >OK, so far, so good. What this basically leaves one with is a couple of XMP dump utilities (<i>DumpMainXMP</i> and <i>DumpScannedXMP</i>) and two others (<i>XMPCoreCoverage</i> and <i>XMPFilesCoverage</i>) which is a good start anyways for exploring. And turns out that our PDFs already have some workflow metadata in them. This is encouraging because the SDK allows apps to read and update existing XMP packets from files, though not to write new packets into files (as far as I understand).

<span >I thought I would take this opportunity anyway to:

  1. <span >See what XMP metadata terms we might consider adding
  • <span >Try and add these to existing XMP packets<span >Ugly details are presented below, but by updating the XMP packet metadata in one of our PDFs (<i>Nature 445, 37 (2007), C.J. Hogan</i>) we can teach Acrobat Reader to read - see the ā€œbeforeā€ (<a href="https://web.archive.org/web/20130815224916/http://nurture.nature.com/">PDF here</a>) and ā€œafterā€ (<a href="https://web.archive.org/web/20130815224916/http://nurture.nature.com/">PDF here</a>) screenshots in the figure.

    <span ><img src="/wp/blog/images/acrobats.png" alt="acrobats.png" width="583" height="466" />

    <span >Of course, this is really about much more than getting Adobe apps to read/write metadata. Itā€™s about using XMP as a standard platform for embedding metadata in digital assets for <i>third-party apps</i> to read/write. If we can put ID3 tags into our podcasts then why not XMP packets into other media?</p>

IBM Article on PRISM

Tony Hammond

Tony Hammond – 2007 July 10

In Metadata

Nice entry article on PRISM here by Uche Ogbuji, Fourthought Inc. on IBMā€™s DeveloperWorks.