Seite 1 von 1

Metadaten PDAnnot zuordnen und mit JavaScript abfragen

Verfasst: 20.01.2008, 20:31
von footix
Gibt es eine Möglichkeit, den Namen bzw. Metadaten eines im .pdf-File eingebetten 3D-Annotation-Objekts mittels JavaScript abzufragen?

Wie müssen hierfür die entsprechenden Befehle bei Script-gesteuerter Erzeugung des 3d-pdf's lauten?

a) Idee 1:

a1) im JavaScript-Abfrage des Standard-Annot-Attributs "name":
var a3d = getAnnots3D(0)[0];
nameAnnotation3D = a3d.name;

a2) Im erzeugenden Script:
PDAnnotSetTitle(newAnnot, "cad", strlen("cad"));       

a3) Ergebnis im JavaScript:    
name=leerer String

b) Idee 2, beliebige Metadaten definieren, z.B. Contents

b1) JavaScript-Abfrage des definierten Attributs "Contents"
var a3d = getAnnots3D(0)[0];
nameAnnotation3D = a3d.Contents

b2) Im erzeugenden Script:
CosDictPutKeyString(cosAnnot, "Contents", CosNewString(cosDoc, false, "3D_Model", strlen("3D_Model")));

b3) Ergebnis im JavaScript:
a3d.Contents -> undefined


Hat jemand eine Idee, wie man einem PDAnnot ein Attribut bei scriptgesteuerter Erzeugung des 3D-Annotations zuordnet und per JavaScript im PDF-Dokument abfragen kann?


Viele Gruesse,
footix 


Metadaten PDAnnot zuordnen und mit JavaScript abfragen

Verfasst: 23.01.2008, 00:36
von acronaut
Hi,

also bedingt kann ich Dir bei Deiner Frage weiter helfen. Wenn Du das 3D Objekt einfügst, bekommt dasd automatisch einen Namen:

Code: Alles auswählen

console.println(getAnnots3D(0)[0].name);
 
Hab auch gerade versucht auf unterschiedlichste Arten den Namen zu ändern. Leider aber auch ohne Erfolg.

Gruß,
Andi


Metadaten PDAnnot zuordnen und mit JavaScript abfragen

Verfasst: 23.01.2008, 19:58
von footix
Hallo Andi,

habe als workaround eine "Dummy" - Text-Annotation(PDAnnot, FreeText) eingefügt,  wobei der Annotation die Infos mit "PDTextAnnotationSetContents" zugeordnet werden.

Per JavaScript kann man dann mit "getAnnots(blatt)[anno-nummer].contents" auf die Daten zugreifen.

Gruss,
footix

Metadaten PDAnnot zuordnen und mit JavaScript abfragen

Verfasst: 29.01.2008, 22:14
von acronaut
Schlau gemacht ;)