- Marcel Van Espen

You probably know the case, you want to convert a file to PDF and add a fax page so you can send it to a customer using your fax-server, or you just want to add a coverpage so you can archive the file in a effective way and have all the metadata nicely grouped on that coverpage.

There are simple ways to let LiveCycle ES take care of that process for you. Below a short explanation of some of the available services that are relevant in this context.

Within LiveCycle Workbench ES, one of the services in the common category that you can use is “Export XMP“. This service will extract all the available metadata from a PDF document. If you have converted a MS-Office document to a PDF document, you will be surprised what metadata is also converted. All these properties are now accessible using the service above. Here is a screenshot of some custom properties in a Word document.

Result of the Export XMP service is an XML structure that you can query. For instance, if you want to know what’s in some of the custom metadata fields, you can check this file. Here is a sample of the result of an Export XMP service.

<?xpacket begin=”” id=”W5M0MpCehiHzreSzNTczkc9d”?>
<x:xmpmeta xmlns:x=”adobe:ns:meta/” x:xmptk=”Adobe XMP Core 4.2-jc015 52.349034, 2008 Jun 20 00:30:39-PDT (debug)”>
<rdf:RDF xmlns:rdf=”
http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
<rdf:Description rdf:about=””
xmlns:xmp=”
http://ns.adobe.com/xap/1.0/“>
<xmp:CreateDate>2008-12-23T09:45:28+01:00</xmp:CreateDate>
<xmp:CreatorTool>Acrobat PDFMaker 9.0 for Word</xmp:CreatorTool>
<xmp:ModifyDate>2008-12-23T09:45:28+01:00</xmp:ModifyDate>
<xmp:MetadataDate>2008-12-23T09:45:28+01:00</xmp:MetadataDate>
</rdf:Description>
<rdf:Description rdf:about=””
xmlns:pdf=”
http://ns.adobe.com/pdf/1.3/“>
<pdf:Producer>Acrobat Distiller 9.0.0 (Windows)</pdf:Producer>
<pdf:Keywords>”PDF, Metadata”</pdf:Keywords>
</rdf:Description>
<rdf:Description rdf:about=””
xmlns:dc=”
http://purl.org/dc/elements/1.1/“>
<dc:format>application/pdf</dc:format>
<dc:creator>
<rdf:Seq>
<rdf:li>Marcel van Espen</rdf:li>
</rdf:Seq>
</dc:creator>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang=”x-default”>This is a test document</rdf:li>
</rdf:Alt>
</dc:title>
<dc:description>
<rdf:Alt>
<rdf:li xml:lang=”x-default”>Onderwerp</rdf:li>
</rdf:Alt>
</dc:description>
<dc:subject>
<rdf:Bag>
<rdf:li>PDF, Metadata</rdf:li>
</rdf:Bag>
</dc:subject>
</rdf:Description>
<rdf:Description rdf:about=””
xmlns:pdfx=”
http://ns.adobe.com/pdfx/1.3/“>
<pdfx:Company>Adobe Systems Incorporated</pdfx:Company>
<pdfx:Department>Development</pdfx:Department>
<pdfx:Language>English</pdfx:Language>
<pdfx:Office>Amsterdam</pdfx:Office>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end=”w”?>

Now, you will see some familiar tags in there. If you would like to access the custom property Office (With value Amsterdam) as highlighted in bold above, you will need to do the following:

  1. Store the result data from the Export XMP service in a variable of type XML (for this example this will be xmpdocxml)
  2. Create a variable of type string (In this case it will be office) to store the office location (of course you can also put it in a form template, but this is out of scope for this example)
  3. Use a set value service to set /process_data/@Office = /process_data/xmpdocxml/x:xmpmeta/rdf:RDF/rdf:Description/pdfx:Office

That’s it. You can of course repeat this for all the other elements, and do what you like with it. I have created a simple example and made it available on acrobat.com. In the sample (zip file) I included a LiveCycle LCA file that you can import, a sample Word document and an XML file that is just showing you the metadata.

If this is too much for you, there is an even simpler service to retrieve the metadata from a document. This service, Export Metadata, gives you a nice XML structure that you can browse using your XPATH editor. Note that this only retrieves the basic metadata!

—-
Original article at http://www.drflex.eu/2008/12/accessing-ms-office-custom-properties-from-livecycle-es-processes/.