PDFdev is a service provided by PDFzone.com | http://www.pdfzone.com
_____________________________________________________________

Yuck.

I suspect you're running afoul of the "Metadata" XML which is a stream in
the catalog object (CosDocGetRoot()).  You may have to modify the metadata
too.  Or instead.  I understant that Acrobat will believe the metadata over
the info dict.

<rant>

And I still don't like having two sources of information like that.  What
was wrong with the original doc-info fields?  They could have added more
fields, structured fields even.  But no... now we have two sources for
author/title/etc and have to keep them synchronized either through the
PDDoc?etInfo calls, or manually.  Yuck.  And look!  We've found a case where
the PDDoc calls aren't up to snuff.

</rant>

If I'm right, you'll have to get the stream, find the <pdf:author> (that's
an educated guess) tag and remove it, then put the modified stream back into
the Metadata... only I don't see any such tag in the PDF I just pulled up.
Nor a producer.  But the document has them in the doc-info fields.  This
tells me that we not only have to keep things synchronized, but we should
check two places for a field that may be in either one or the other, or
both.

<RANT style="bitter:100%; sarcastic:%50">

And could they please throw a couple more namespaces into that XML?  I just
don't think *S*E*V*E*N* is enough!  I weep for the poor fools who actually
have to parse it.  

Oh wait, that's us.

</RANT>

Or you could just blow the metadata away.  Remove a variable from the
equation.  Acrobat will oh-so-kindly add it back in the first chance it
gets, but I'd hope it would at least be generated from your data.  You won't
have to touch that God-forsaken XML.  In theory.  Acrobat could go back and
rescue the data and use it instead, but that seems pathological.  But then
so does the XML...  Make sure you test this lovely little misfeature before
you ship it.

--Mark Storer
  Senior Software Engineer
  Verity, Inc.



> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Nils Andersen
> Sent: Wednesday, April 14, 2004 6:25 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [PDFdev] PDF Info
> 
> 
> 
> PDFdev is a service provided by PDFzone.com | http://www.pdfzone.com
> _____________________________________________________________
> 
> I tried that too and also
>   CosDictRemove(infoDict, ASAtomFromString("Author"));
> and neither of them work reliably.
> 
> ----- Original Message ----- 
> From: "Mark Storer" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, April 14, 2004 17:57
> Subject: RE: [PDFdev] PDF Info
> 
> 
> >
> > PDFdev is a service provided by PDFzone.com | http://www.pdfzone.com
> > _____________________________________________________________
> >
> > You can do it in Cos easily enough.
> >
> > Just get the info dictionary from the CosDoc, then put an 
> empty string
> into
> > the info dict's author key:
> >
> > CosObj infoDict = CosDocGetInfoDict()
> > CosDictPut(infoDict, ASAtomFromString( "Author" ),  
> CosNewString(doc,
> false,
> > "", 0) );
> >
> > --Mark Storer
> >   Senior Software Engineer
> >   Verity, Inc.
> >
> > To change your subscription:
> > http://www.pdfzone.com/discussions/lists-pdfdev.html
> >
> >
> >
> 
> 
> 
> To change your subscription:
> http://www.pdfzone.com/discussions/lists-pdfdev.html
> 

To change your subscription:
http://www.pdfzone.com/discussions/lists-pdfdev.html

Reply via email to