ExifTool Forum

ExifTool => The "exiftool" Application => Topic started by: richards on February 14, 2017, 11:27:46 AM

Title: Esko XMP structured tags.
Post by: richards on February 14, 2017, 11:27:46 AM
I am new to ExifTool and I have had some success editing some of the generic tags but anything within a structure is a challenge.

To be precise I am attempting to remove the dot shape value from the Esko XMP ink structure. See image attached.

Any advice welcome. Thank you in advance.
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 14, 2017, 12:46:03 PM
This isn't for the faint of heart.  You need to first create a user-defined tag to be able to write the egInk tags.  After you do this, you should be able to delete the dot shape with a command something like this:

exiftool -inksdotshape= FILE

See the NewXMPxxxStruct definition in the sample config file (https://exiftool.org/config.html) for an example of how to create a user-defined XMP structure.  Note that your structure is inside a Seq list, so you should add "List => 'Seq'," to the "inks" tag definition.

- Phil
Title: Re: Esko XMP structured tags.
Post by: richards on February 16, 2017, 06:06:30 AM
Thank you very much Phil. I will give that a go  :)
Title: Re: Esko XMP structured tags.
Post by: richards on February 16, 2017, 09:05:21 AM
Hi Phil

Are saying my command should look something like this?

exiftool -config file.txt -inksdotshape= artwork.pdf
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 16, 2017, 09:06:50 AM
Yes.  If you have any problems, attach the config file you are using and the sample XMP and I'll take a look.

exiftool -xmp -b artwork.pdf > sample.xmp

- Phil
Title: Re: Esko XMP structured tags.
Post by: richards on February 17, 2017, 05:08:10 AM
Hi Phil

I am failing miserably  :-\. Despite my best efforts I am still encountering the error. Warning: Tag 'inksdotshape' is not defined

Here is my config file. Any help would be greatly appreciated.

Thanks in advance.

%Image::ExifTool::UserDefined::egInk = (
    GROUPS => { 0 => 'XMP', 1 => 'XMP-egInk', 2 => 'Image' },
    NAMESPACE => { 'egInk' => 'http://ns.esko-graphics.com/inkinfo/1.0/' },
    WRITABLE => 'string', # (default to string-type tags)

    Inks => {
              List=> 'Seq',
              struct => {
                            NAMESPACE => { 'egInk' => 'http://ns.esko-graphics.com/inkinfo/1.0/' },
                            name => { },
                            type => { },
                            book => { },
                            egname => { },
                            frequency => { },
                            angle => { },
                            dotshape => { },
                            r => { },
                            g => { },
                            b => { },
                            attribute => { },
                            printingmethod => { },
                           
              },

        },
);

print "LOADED!\n";


And here is the XML


<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:egGr="http://ns.esko-graphics.com/grinfo/1.0/"
            xmlns:egInk="http://ns.esko-graphics.com/inkinfo/1.0/">
         <egGr:nrpages>1</egGr:nrpages>
         <egGr:startlogpage>1</egGr:startlogpage>
         <egGr:units>mm</egGr:units>
         <egGr:vsize>298.740576</egGr:vsize>
         <egGr:hsize>339.0000441</egGr:hsize>
         <egGr:margtop>.001034181786</egGr:margtop>
         <egGr:margbot>0.</egGr:margbot>
         <egGr:margleft>21.50004414</egGr:margleft>
         <egGr:margright>21.50002297</egGr:margright>
         <egGr:vshrink>1.</egGr:vshrink>
         <egGr:hshrink>1.</egGr:hshrink>
         <egGr:readerspread>False</egGr:readerspread>
         <egGr:colorprofloc>Untagged</egGr:colorprofloc>
         <egGr:colorprofname/>
         <egGr:colorprofdesc/>
         <egGr:trapped>False</egGr:trapped>
         <egGr:screenreg>False</egGr:screenreg>
         <egGr:inks>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>White F</egInk:name>
                  <egInk:type>designer</egInk:type>
                  <egInk:book>none</egInk:book>
                  <egInk:egname>White F</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>37.5</egInk:angle>
                  <egInk:dotshape>C</egInk:dotshape>
                  <egInk:r>.6100000143</egInk:r>
                  <egInk:g>.8349999785</egInk:g>
                  <egInk:b>.9700000286</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>206</egInk:name>
                  <egInk:type>pantone</egInk:type>
                  <egInk:book>pms1000c</egInk:book>
                  <egInk:egname>206</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>67.5</egInk:angle>
                  <egInk:dotshape>C</egInk:dotshape>
                  <egInk:r>.8706981737</egInk:r>
                  <egInk:g>0.</egInk:g>
                  <egInk:b>.2213176653</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>black</egInk:name>
                  <egInk:type>process</egInk:type>
                  <egInk:book>process</egInk:book>
                  <egInk:egname>black</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>7.5</egInk:angle>
                  <egInk:dotshape>C</egInk:dotshape>
                  <egInk:r>.1870992878</egInk:r>
                  <egInk:g>.1778713106</egInk:g>
                  <egInk:b>.1984996809</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
            </rdf:Seq>
         </egGr:inks>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egPDFNat="http://ns.esko-graphics.com/pdfnatversion/1.0/">
         <egPDFNat:flexripversion>700</egPDFNat:flexripversion>
         <egPDFNat:version>202</egPDFNat:version>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/">
         <xmp:CreateDate>2016-12-29T14:43:30Z</xmp:CreateDate>
         <xmp:CreatorTool>Esko Automation Engine 14.1.1 NT Dec 15 2015, build 598</xmp:CreatorTool>
         <xmp:MetadataDate>2016-12-29T14:43:30Z</xmp:MetadataDate>
         <xmp:ModifyDate>2016-12-29T14:43:30Z</xmp:ModifyDate>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:stVer="http://ns.adobe.com/xap/1.0/sType/Version#">
         <stVer:modifyDate>2016-12-29T14:43:20Z</stVer:modifyDate>
         <stVer:modifier>SYSTEM</stVer:modifier>
         <stVer:version>0</stVer:version>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:xmpBJ="http://ns.adobe.com/xap/1.0/bj/"
            xmlns:stLoc="http://ns.adobe.com/xap/1.0/sType/DataLocation#">
         <xmpBJ:JobRef>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <stLoc:name>6216210_CUS053897</stLoc:name>
                  <stLoc:url>file://10.110.128.200/Studio/Esko/Imperial%20Leather/6216210_CUS053897</stLoc:url>
               </rdf:li>
            </rdf:Bag>
         </xmpBJ:JobRef>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egJob="http://ns.esko-graphics.com/jobinfo/1.0/">
         <egJob:orderid>6216210</egJob:orderid>
         <egJob:suborderid>CUS053897</egJob:suborderid>
         <egJob:description>IL SH SGNTRFNFR NSTLG 500ML B</egJob:description>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egLayL="http://ns.esko-graphics.com/laylist/1.0/"
            xmlns:egLay="http://ns.esko-graphics.com/layer/1.0/">
         <egLayL:layers>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Layer 4</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Expanded DM Underprint</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Expanded Marks</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>SNR Grid</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
            </rdf:Seq>
         </egLayL:layers>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egCadL="http://ns.esko-graphics.com/cadlist/1.0/">
         <egCadL:files>
            <rdf:Bag/>
         </egCadL:files>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egExtFL2="http://ns.esko-graphics.com/extfileslist/2.0/">
         <egExtFL2:files>
            <rdf:Bag/>
         </egExtFL2:files>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egExtFL="http://ns.esko-graphics.com/extfileslist/1.0/">
         <egExtFL:files>
            <rdf:Bag/>
         </egExtFL:files>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egBarcL="http://ns.esko-graphics.com/barcodelist/1.0/">
         <egBarcL:barcodes>
            <rdf:Bag/>
         </egBarcL:barcodes>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egSrLayout="http://ns.esko-graphics.com/srlayout/1.0/">
         <egSrLayout:repeats>
            <rdf:Bag/>
         </egSrLayout:repeats>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egImp="http://ns.esko-graphics.com/impose/1.0/">
         <egImp:surfaces>
            <rdf:Seq/>
         </egImp:surfaces>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">6216210_CUS053897_12_GALL900_NX.pdf</rdf:li>
            </rdf:Alt>
         </dc:title>
         <dc:creator>
            <rdf:Seq>
               <rdf:li>BGSYSTEM</rdf:li>
            </rdf:Seq>
         </dc:creator>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egFontL="http://ns.esko-graphics.com/fontlist/1.0/"
            xmlns:egFont="http://ns.esko-graphics.com/fontinfo/1.0/">
         <egFontL:fonts>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <egFont:name>ArialMT</egFont:name>
                  <egFont:type>TrueType</egFont:type>
                  <egFont:location>embedded</egFont:location>
                  <egFont:fontfile>N;BG256;E;3;0;0;;JGYQDB+ArialMT</egFont:fontfile>
                  <egFont:protection>False</egFont:protection>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egFont:name>ArialMT</egFont:name>
                  <egFont:type>TrueType</egFont:type>
                  <egFont:location>embedded</egFont:location>
                  <egFont:fontfile>N;BG256;E;3;0;0;;YEHETJ+ArialMT</egFont:fontfile>
                  <egFont:protection>False</egFont:protection>
               </rdf:li>
            </rdf:Bag>
         </egFontL:fonts>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
         <pdf:Producer>Esko Automation Engine PDFNormalize 14.1.1</pdf:Producer>
         <pdf:Trapped>False</pdf:Trapped>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egPagL="http://ns.esko-graphics.com/pagerangelist/1.0/"
            xmlns:egPag="http://ns.esko-graphics.com/pagerange/1.1/">
         <egPagL:pagelist>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egPag:start>0</egPag:start>
                  <egPag:end>0</egPag:end>
                  <egPag:inks>
                     <rdf:Seq>
                        <rdf:li>1</rdf:li>
                        <rdf:li>2</rdf:li>
                        <rdf:li>3</rdf:li>
                     </rdf:Seq>
                  </egPag:inks>
               </rdf:li>
            </rdf:Seq>
         </egPagL:pagelist>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:egInkCovL="http://ns.esko-graphics.com/inkcovlist/1.0/">
         <egInkCovL:coverage>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource"/>
               <rdf:li rdf:parseType="Resource"/>
               <rdf:li rdf:parseType="Resource"/>
            </rdf:Seq>
         </egInkCovL:coverage>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                         
<?xpacket end="w"?>
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 08:11:08 AM
Two problems:

1. You needed to add the egInk namespace to the Main XMP table.

2. "Struct" needed to be capitalized.

Here is the fixed version:

%Image::ExifTool::UserDefined::egGr = (
    GROUPS => { 0 => 'XMP', 1 => 'XMP-egGr', 2 => 'Image' },
    NAMESPACE => { 'egGr' => 'http://ns.esko-graphics.com/grinfo/1.0/' },
    WRITABLE => 'string', # (default to string-type tags)

    Inks => {
        List=> 'Seq',
        Struct => {
            NAMESPACE => { 'egInk' => 'http://ns.esko-graphics.com/inkinfo/1.0/' },
            name => { },
            type => { },
            book => { },
            egname => { },
            frequency => { },
            angle => { },
            dotshape => { },
            r => { },
            g => { },
            b => { },
            attribute => { },
            printingmethod => { },
        },
    },
);

%Image::ExifTool::UserDefined = (
    'Image::ExifTool::XMP::Main' => {
        egGr => {
            SubDirectory => {
                TagTable => 'Image::ExifTool::UserDefined::egGr',
            },
        },
    },
);

1; # end


- Phil

Edit:  I just tried this out and it doesn't delete the ink... Hmmm.  I'll try to figure out what is going on.

Ah.  The namespace is egGr for the inks tag, and egInks for the structure elements.  I've fixed this too and updated the config file above.
Title: Re: Esko XMP structured tags.
Post by: richards on February 17, 2017, 08:50:38 AM
Thanks again.

Progress indeed, however it appears have broken XMP.

Please see the resulting XML below. Some strange transformations have occurred .


<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 10.41'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

<rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
  <dc:creator>
   <rdf:Seq>
    <rdf:li>BGSYSTEM</rdf:li>
   </rdf:Seq>
  </dc:creator>
  <dc:title>
   <rdf:Alt>
    <rdf:li xml:lang='x-default'>6216210_CUS053897_12_GALL900_NX.pdf</rdf:li>
   </rdf:Alt>
  </dc:title>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egFont='http://ns.esko-graphics.com/fontinfo/1.0/'
  xmlns:egFontL='http://ns.esko-graphics.com/fontlist/1.0/'>
  <egFontL:fonts>
   <rdf:Bag>
    <rdf:li rdf:parseType='Resource'>
     <egFont:fontfile>N;BG256;E;3;0;0;;JGYQDB+ArialMT</egFont:fontfile>
     <egFont:location>embedded</egFont:location>
     <egFont:name>ArialMT</egFont:name>
     <egFont:protection>False</egFont:protection>
     <egFont:type>TrueType</egFont:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egFont:fontfile>N;BG256;E;3;0;0;;YEHETJ+ArialMT</egFont:fontfile>
     <egFont:location>embedded</egFont:location>
     <egFont:name>ArialMT</egFont:name>
     <egFont:protection>False</egFont:protection>
     <egFont:type>TrueType</egFont:type>
    </rdf:li>
   </rdf:Bag>
  </egFontL:fonts>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egGr='http://ns.esko-graphics.com/grinfo/1.0/'
  xmlns:egInk='http://ns.esko-graphics.com/inkinfo/1.0/'>
  <egGr:Inks>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>37.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.9700000286</egInk:b>
     <egInk:book>none</egInk:book>
     <egInk:dotshape> </egInk:dotshape>
     <egInk:egname>White F</egInk:egname>
     <egInk:frequency>150.</egInk:frequency>
     <egInk:g>.8349999785</egInk:g>
     <egInk:name>White F</egInk:name>
     <egInk:printingmethod>flexo</egInk:printingmethod>
     <egInk:r>.6100000143</egInk:r>
     <egInk:type>designer</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.2213176653</egInk:b>
     <egInk:book>pms1000c</egInk:book>
     <egInk:egname>206</egInk:egname>
     <egInk:frequency>150.</egInk:frequency>
     <egInk:g>0.</egInk:g>
     <egInk:name>206</egInk:name>
     <egInk:printingmethod>flexo</egInk:printingmethod>
     <egInk:r>.8706981737</egInk:r>
     <egInk:type>pantone</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>7.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.1984996809</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:egname>black</egInk:egname>
     <egInk:frequency>150.</egInk:frequency>
     <egInk:g>.1778713106</egInk:g>
     <egInk:name>black</egInk:name>
     <egInk:printingmethod>flexo</egInk:printingmethod>
     <egInk:r>.1870992878</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li>
   </rdf:Seq>
  </egGr:Inks>
  <egGr:colorprofdesc/>
  <egGr:colorprofloc>Untagged</egGr:colorprofloc>
  <egGr:colorprofname/>
  <egGr:hshrink>1.</egGr:hshrink>
  <egGr:hsize>339.0000441</egGr:hsize>
  <egGr:margbot>0.</egGr:margbot>
  <egGr:margleft>21.50004414</egGr:margleft>
  <egGr:margright>21.50002297</egGr:margright>
  <egGr:margtop>.001034181786</egGr:margtop>
  <egGr:nrpages>1</egGr:nrpages>
  <egGr:readerspread>False</egGr:readerspread>
  <egGr:screenreg>False</egGr:screenreg>
  <egGr:startlogpage>1</egGr:startlogpage>
  <egGr:trapped>False</egGr:trapped>
  <egGr:units>mm</egGr:units>
  <egGr:vshrink>1.</egGr:vshrink>
  <egGr:vsize>298.740576</egGr:vsize>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egInkCovL='http://ns.esko-graphics.com/inkcovlist/1.0/'>
  <egInkCovL:coverage>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'/>
    <rdf:li rdf:parseType='Resource'/>
    <rdf:li rdf:parseType='Resource'/>
   </rdf:Seq>
  </egInkCovL:coverage>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egJob='http://ns.esko-graphics.com/jobinfo/1.0/'>
  <egJob:description>IL SH SGNTRFNFR NSTLG 500ML B</egJob:description>
  <egJob:orderid>6216210</egJob:orderid>
  <egJob:suborderid>CUS053897</egJob:suborderid>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egLay='http://ns.esko-graphics.com/layer/1.0/'
  xmlns:egLayL='http://ns.esko-graphics.com/laylist/1.0/'>
  <egLayL:layers>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'>
     <egLay:locked>False</egLay:locked>
     <egLay:name>Layer 4</egLay:name>
     <egLay:printable>True</egLay:printable>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egLay:locked>False</egLay:locked>
     <egLay:name>Expanded DM Underprint</egLay:name>
     <egLay:printable>True</egLay:printable>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egLay:locked>False</egLay:locked>
     <egLay:name>Expanded Marks</egLay:name>
     <egLay:printable>True</egLay:printable>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egLay:locked>False</egLay:locked>
     <egLay:name>SNR Grid</egLay:name>
     <egLay:printable>True</egLay:printable>
    </rdf:li>
   </rdf:Seq>
  </egLayL:layers>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egPDFNat='http://ns.esko-graphics.com/pdfnatversion/1.0/'>
  <egPDFNat:flexripversion>700</egPDFNat:flexripversion>
  <egPDFNat:version>202</egPDFNat:version>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:egPag='http://ns.esko-graphics.com/pagerange/1.1/'
  xmlns:egPagL='http://ns.esko-graphics.com/pagerangelist/1.0/'>
  <egPagL:pagelist>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'>
     <egPag:end>0</egPag:end>
     <egPag:inks>
      <rdf:Seq>
       <rdf:li>1</rdf:li>
       <rdf:li>2</rdf:li>
       <rdf:li>3</rdf:li>
      </rdf:Seq>
     </egPag:inks>
     <egPag:start>0</egPag:start>
    </rdf:li>
   </rdf:Seq>
  </egPagL:pagelist>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:pdf='http://ns.adobe.com/pdf/1.3/'>
  <pdf:Producer>Esko Automation Engine PDFNormalize 14.1.1</pdf:Producer>
  <pdf:Trapped>False</pdf:Trapped>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:stVer='http://ns.adobe.com/xap/1.0/sType/Version#'>
  <stVer:modifier>SYSTEM</stVer:modifier>
  <stVer:modifyDate>2016-12-29T14:43:20Z</stVer:modifyDate>
  <stVer:version>0</stVer:version>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:CreateDate>2016-12-29T14:43:30Z</xmp:CreateDate>
  <xmp:CreatorTool>Esko Automation Engine 14.1.1 NT Dec 15 2015, build 598</xmp:CreatorTool>
  <xmp:MetadataDate>2016-12-29T14:43:30Z</xmp:MetadataDate>
  <xmp:ModifyDate>2016-12-29T14:43:30Z</xmp:ModifyDate>
</rdf:Description>

<rdf:Description rdf:about=''
  xmlns:stLoc='http://ns.adobe.com/xap/1.0/sType/DataLocation#'
  xmlns:xmpBJ='http://ns.adobe.com/xap/1.0/bj/'>
  <xmpBJ:JobRef>
   <rdf:Bag>
    <rdf:li rdf:parseType='Resource'>
     <stLoc:name>6216210_CUS053897</stLoc:name>
     <stLoc:url>file://10.110.128.200/Studio/Esko/Imperial%20Leather/6216210_CUS053897</stLoc:url>
    </rdf:li>
   </rdf:Bag>
  </xmpBJ:JobRef>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
<?xpacket end='w'?>



Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 10:31:25 AM
The XMP looks perfectly fine to me.  Maybe ESKO doesn't like the missing dotshape.

- Phil
Title: Re: Esko XMP structured tags.
Post by: richards on February 17, 2017, 10:44:49 AM
Hi Phil

I tried both command options with your config file.

-inksdotshape= - Removes tag entirely
-inksdotshape=" " - Replaces tag value with space.

Forgot to mention there was a minor error after running the commands: Warning: [minor] Ignored empty rdf:Bag list for egCadL:files

Below is en example where I edited the XMP data in Acrobat Pro. The XMP remains valid after deleting the dotshape tag.


<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c015 84.159810, 2016/09/10-02:41:30        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:egGr="http://ns.esko-graphics.com/grinfo/1.0/"
            xmlns:egInk="http://ns.esko-graphics.com/inkinfo/1.0/"
            xmlns:egPDFNat="http://ns.esko-graphics.com/pdfnatversion/1.0/"
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:stVer="http://ns.adobe.com/xap/1.0/sType/Version#"
            xmlns:egJob="http://ns.esko-graphics.com/jobinfo/1.0/"
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:xmpBJ="http://ns.adobe.com/xap/1.0/bj/"
            xmlns:stLoc="http://ns.adobe.com/xap/1.0/sType/DataLocation#"
            xmlns:egLayL="http://ns.esko-graphics.com/laylist/1.0/"
            xmlns:egLay="http://ns.esko-graphics.com/layer/1.0/"
            xmlns:egCadL="http://ns.esko-graphics.com/cadlist/1.0/"
            xmlns:egExtFL2="http://ns.esko-graphics.com/extfileslist/2.0/"
            xmlns:egExtFL="http://ns.esko-graphics.com/extfileslist/1.0/"
            xmlns:egBarcL="http://ns.esko-graphics.com/barcodelist/1.0/"
            xmlns:egSrLayout="http://ns.esko-graphics.com/srlayout/1.0/"
            xmlns:egImp="http://ns.esko-graphics.com/impose/1.0/"
            xmlns:egFontL="http://ns.esko-graphics.com/fontlist/1.0/"
            xmlns:egFont="http://ns.esko-graphics.com/fontinfo/1.0/"
            xmlns:egPagL="http://ns.esko-graphics.com/pagerangelist/1.0/"
            xmlns:egPag="http://ns.esko-graphics.com/pagerange/1.1/"
            xmlns:egInkCovL="http://ns.esko-graphics.com/inkcovlist/1.0/">
         <egGr:nrpages>1</egGr:nrpages>
         <egGr:startlogpage>1</egGr:startlogpage>
         <egGr:units>mm</egGr:units>
         <egGr:vsize>298.740576</egGr:vsize>
         <egGr:hsize>339.0000441</egGr:hsize>
         <egGr:margtop>.001034181786</egGr:margtop>
         <egGr:margbot>0.</egGr:margbot>
         <egGr:margleft>21.50004414</egGr:margleft>
         <egGr:margright>21.50002297</egGr:margright>
         <egGr:vshrink>1.</egGr:vshrink>
         <egGr:hshrink>1.</egGr:hshrink>
         <egGr:readerspread>False</egGr:readerspread>
         <egGr:colorprofloc>Untagged</egGr:colorprofloc>
         <egGr:colorprofname/>
         <egGr:colorprofdesc/>
         <egGr:trapped>False</egGr:trapped>
         <egGr:screenreg>False</egGr:screenreg>
         <egGr:inks>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>White F</egInk:name>
                  <egInk:type>designer</egInk:type>
                  <egInk:book>none</egInk:book>
                  <egInk:egname>White F</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>37.5</egInk:angle>
                  <egInk:r>.6100000143</egInk:r>
                  <egInk:g>.8349999785</egInk:g>
                  <egInk:b>.9700000286</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>206</egInk:name>
                  <egInk:type>pantone</egInk:type>
                  <egInk:book>pms1000c</egInk:book>
                  <egInk:egname>206</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>67.5</egInk:angle>
                  <egInk:r>.8706981737</egInk:r>
                  <egInk:g>0.</egInk:g>
                  <egInk:b>.2213176653</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInk:name>black</egInk:name>
                  <egInk:type>process</egInk:type>
                  <egInk:book>process</egInk:book>
                  <egInk:egname>black</egInk:egname>
                  <egInk:frequency>150.</egInk:frequency>
                  <egInk:angle>7.5</egInk:angle>
                  <egInk:r>.1870992878</egInk:r>
                  <egInk:g>.1778713106</egInk:g>
                  <egInk:b>.1984996809</egInk:b>
                  <egInk:attribute>normal</egInk:attribute>
                  <egInk:printingmethod>flexo</egInk:printingmethod>
               </rdf:li>
            </rdf:Seq>
         </egGr:inks>
         <egPDFNat:flexripversion>700</egPDFNat:flexripversion>
         <egPDFNat:version>202</egPDFNat:version>
         <xmp:CreatorTool>Esko Automation Engine 14.1.1 NT Dec 15 2015, build 598</xmp:CreatorTool>
         <xmp:MetadataDate>2017-02-17T15:38:30Z</xmp:MetadataDate>
         <xmp:ModifyDate>2017-02-17T15:38:30Z</xmp:ModifyDate>
         <xmp:CreateDate>2017-02-17T15:38:30Z</xmp:CreateDate>
         <stVer:modifyDate>2016-12-29T14:43:20Z</stVer:modifyDate>
         <stVer:modifier>SYSTEM</stVer:modifier>
         <stVer:version>0</stVer:version>
         <egJob:orderid>6216210</egJob:orderid>
         <egJob:suborderid>CUS053897</egJob:suborderid>
         <egJob:description>IL SH SGNTRFNFR NSTLG 500ML B</egJob:description>
         <pdf:Producer>Esko Automation Engine PDFNormalize 14.1.1</pdf:Producer>
         <pdf:Trapped>Unknown</pdf:Trapped>
         <pdf:Keywords/>
         <dc:format>application/pdf</dc:format>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">6216210_CUS053897_12_GALL900_NX.pdf</rdf:li>
            </rdf:Alt>
         </dc:title>
         <dc:creator>
            <rdf:Seq>
               <rdf:li>BGSYSTEM</rdf:li>
            </rdf:Seq>
         </dc:creator>
         <xmpMM:DocumentID>uuid:147e8401-a20d-b44c-bf47-89c19ea5052e</xmpMM:DocumentID>
         <xmpMM:InstanceID>uuid:3b1112a7-438f-f54c-8488-8107f5d62e0b</xmpMM:InstanceID>
         <xmpBJ:JobRef>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <stLoc:name>6216210_CUS053897</stLoc:name>
                  <stLoc:url>file://10.110.128.200/Studio/Esko/Imperial%20Leather/6216210_CUS053897</stLoc:url>
               </rdf:li>
            </rdf:Bag>
         </xmpBJ:JobRef>
         <egLayL:layers>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Layer 4</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Expanded DM Underprint</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>Expanded Marks</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egLay:name>SNR Grid</egLay:name>
                  <egLay:printable>True</egLay:printable>
                  <egLay:locked>False</egLay:locked>
               </rdf:li>
            </rdf:Seq>
         </egLayL:layers>
         <egCadL:files>
            <rdf:Bag/>
         </egCadL:files>
         <egExtFL2:files>
            <rdf:Bag/>
         </egExtFL2:files>
         <egExtFL:files>
            <rdf:Bag/>
         </egExtFL:files>
         <egBarcL:barcodes>
            <rdf:Bag/>
         </egBarcL:barcodes>
         <egSrLayout:repeats>
            <rdf:Bag/>
         </egSrLayout:repeats>
         <egImp:surfaces>
            <rdf:Seq/>
         </egImp:surfaces>
         <egFontL:fonts>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <egFont:name>ArialMT</egFont:name>
                  <egFont:type>TrueType</egFont:type>
                  <egFont:location>embedded</egFont:location>
                  <egFont:fontfile>N;BG256;E;3;0;0;;JGYQDB+ArialMT</egFont:fontfile>
                  <egFont:protection>False</egFont:protection>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egFont:name>ArialMT</egFont:name>
                  <egFont:type>TrueType</egFont:type>
                  <egFont:location>embedded</egFont:location>
                  <egFont:fontfile>N;BG256;E;3;0;0;;YEHETJ+ArialMT</egFont:fontfile>
                  <egFont:protection>False</egFont:protection>
               </rdf:li>
            </rdf:Bag>
         </egFontL:fonts>
         <egPagL:pagelist>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egPag:start>0</egPag:start>
                  <egPag:end>0</egPag:end>
                  <egPag:inks>
                     <rdf:Seq>
                        <rdf:li>1</rdf:li>
                        <rdf:li>2</rdf:li>
                        <rdf:li>3</rdf:li>
                     </rdf:Seq>
                  </egPag:inks>
               </rdf:li>
            </rdf:Seq>
         </egPagL:pagelist>
         <egInkCovL:coverage>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource"/>
               <rdf:li rdf:parseType="Resource"/>
               <rdf:li rdf:parseType="Resource"/>
            </rdf:Seq>
         </egInkCovL:coverage>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                           
<?xpacket end="w"?>
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 11:03:53 AM
Good sleuthing.  The only difference is that ExifTool has deleted some empty lists (besides changing the organization, but this shouldn't make a difference).  Try this in ESKO.  Here I have deleted them by hand, leaving the original organization of the XMP from your last posted unchanged.

- Phil
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 11:07:12 AM
And here is exactly the same XMP, but organized differently (a-la ExifTool).

Please try this too.

- Phil

Edit: If this doesn't work but test1 does, then maybe try trivially editing this file in Acrobat Pro then seeing if the result works in ESKO.
Title: Re: Esko XMP structured tags.
Post by: richards on February 17, 2017, 12:00:09 PM
Both examples worked.
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 12:13:25 PM
Ah.  Got it. "Inks" needs a lower case "i" in the config file.  It should be "inks".

Details, details.  Gotta mind those details.

- Phil
Title: Re: Esko XMP structured tags.
Post by: richards on February 17, 2017, 01:26:19 PM
Brilliant!!! It works!  :D :D :D :D

I literally can't thank you enough.

Final config below.


%Image::ExifTool::UserDefined::egGr = (
    GROUPS => { 0 => 'XMP', 1 => 'XMP-egGr', 2 => 'Image' },
    NAMESPACE => { 'egGr' => 'http://ns.esko-graphics.com/grinfo/1.0/' },
    WRITABLE => 'string', # (default to string-type tags)

    inks => {
        List=> 'Seq',
        Struct => {
            NAMESPACE => { 'egInk' => 'http://ns.esko-graphics.com/inkinfo/1.0/' },
            name => { },
            type => { },
            book => { },
            egname => { },
            frequency => { },
            angle => { },
            dotshape => { },
            r => { },
            g => { },
            b => { },
            attribute => { },
            printingmethod => { },
        },
    },
);

%Image::ExifTool::UserDefined = (
    'Image::ExifTool::XMP::Main' => {
        egGr => {
            SubDirectory => {
                TagTable => 'Image::ExifTool::UserDefined::egGr',
            },
        },
    },
);

1; # end
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on February 17, 2017, 01:30:44 PM
Hi Richard,

Excellent!

- Phil
Title: Re: Esko XMP structured tags.
Post by: dothem on July 19, 2019, 07:01:38 AM
Hi Phil,
Is it possible to add values from array to the section?
Example: -inksdotshape=["a","abc","abcd"]

         <egGr:inks>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
....
                  <egInk:dotshape>a</egInk:dotshape>
....
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
...
                  <egInk:dotshape>abc</egInk:dotshape>
...
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
...
                  <egInk:dotshape>abcd</egInk:dotshape>
...
               </rdf:li>
            </rdf:Seq>
         </egGr:inks>


thank you in advance for your help
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on July 19, 2019, 07:24:45 AM
How about this?:

exiftool -inks+="[{Dotshape=a},{Dotshape=abc},{Dotshape=abcd}]" FILE

- Phil
Title: Re: Esko XMP structured tags.
Post by: dothem on July 19, 2019, 07:48:37 AM
This command inserts new sections, but does not update old.

  <egGr:inks>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.9086514743</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:dotshape>C</egInk:dotshape>
     <egInk:egname>cyan</egInk:egname>
     <egInk:frequency>110.</egInk:frequency>
     <egInk:g>.6491146478</egInk:g>
     <egInk:name>cyan</egInk:name>
     <egInk:r>0.</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.5299102447</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:dotshape>C</egInk:dotshape>
     <egInk:egname>magenta</egInk:egname>
     <egInk:frequency>110.</egInk:frequency>
     <egInk:g>.1982994402</egInk:g>
     <egInk:name>magenta</egInk:name>
     <egInk:r>.921078013</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>0.</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:dotshape>C</egInk:dotshape>
     <egInk:egname>yellow</egInk:egname>
     <egInk:frequency>110.</egInk:frequency>
     <egInk:g>.9642572</egInk:g>
     <egInk:name>yellow</egInk:name>
     <egInk:r>1.</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>a</egInk:dotshape>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>abc</egInk:dotshape>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>abcd</egInk:dotshape>
    </rdf:li>
   </rdf:Seq>
  </egGr:inks>
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on July 19, 2019, 08:00:25 AM
Sorry, I thought that is what you wanted when you said "add values".

If you want to replace the existing inks, you can do this:

exiftool -inksdotshape=a,abc,abcd -sep , FILE

- Phil
Title: Re: Esko XMP structured tags.
Post by: dothem on July 19, 2019, 08:12:52 AM
not work :(

value has changed only in the first section, the rest are just added

Quote

-config exif-config.txt -inksdotshape=a;abc;abcd;dc -sep ";" test.pdf

<egGr:inks>
   <rdf:Seq>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.9086514743</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:dotshape>a</egInk:dotshape>
     <egInk:egname>cyan</egInk:egname>
     <egInk:frequency>110.</egInk:frequency>
     <egInk:g>.6491146478</egInk:g>
     <egInk:name>cyan</egInk:name>
     <egInk:r>0.</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>abc</egInk:dotshape>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>abcd</egInk:dotshape>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:dotshape>dc</egInk:dotshape>
    </rdf:li>
    <rdf:li rdf:parseType='Resource'>
     <egInk:angle>67.5</egInk:angle>
     <egInk:attribute>normal</egInk:attribute>
     <egInk:b>.5299102447</egInk:b>
     <egInk:book>process</egInk:book>
     <egInk:egname>magenta</egInk:egname>
     <egInk:frequency>110.</egInk:frequency>
     <egInk:g>.1982994402</egInk:g>
     <egInk:name>magenta</egInk:name>
     <egInk:r>.921078013</egInk:r>
     <egInk:type>process</egInk:type>
    </rdf:li
   ....
Title: Re: Esko XMP structured tags.
Post by: Phil Harvey on July 19, 2019, 09:52:02 AM
You're right.  Hmmm.  Try this again with ExifTool 11.57 (just released).

- Phil
Title: Re: Esko XMP structured tags.
Post by: dothem on July 19, 2019, 10:05:41 AM
Works! Thank you!

Before that I used 11.56