[GastForen Programmierung/Entwicklung JavaScript Daten in Dokumenteigenschaften einlesen/eintragen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Daten in Dokumenteigenschaften einlesen/eintragen

karla123
Beiträge gesamt: 12

1. Aug 2019, 15:39
Beitrag # 1 von 4
Bewertung:
(4247 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebes Forum,

ich würde gerne ein Javascript verwenden um im Acrobat in den Dokumenteigenschaften Einträge einzufügen. Das Problem was ich habe ist das Menü "Zusätzliche Metadaten...". Wie kann ich per Javascript Einträge in die Felder "Copyright-Status", "Copyright-Informationen" und den Eintrag URL für Copyright-Informationen" einfügen??


Über jede Hilfe würde ich mich riesig freuen

Lieben Gruß
X

Daten in Dokumenteigenschaften einlesen/eintragen

bavella
Beiträge gesamt: 172

2. Aug 2019, 16:36
Beitrag # 2 von 4
Beitrag ID: #571289
Bewertung:
(4210 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Das können Sie in der Acrobat JavaScript-API-Reference nachlesen (Download hier:
https://www.adobe.com/...js_api_reference.pdf)

Auf Seite 212 gibt es das Beispiel-Script Nr.3.

Code
var CopyrightStatus = "True"; 
var CopyrightNotice = "Copyright(C) 2006, Example Systems, Inc."
var CopyrightInfoURL = "http://www.example.com"
var meta = this.metadata;
var myXMPData = new XML(meta);
myx = new Namespace("adobe:ns:meta/");
myrdf = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
mypdf = new Namespace("http://ns.adobe.com/pdf/1.3/");
myxap = new Namespace("http://ns.adobe.com/xap/1.0/");
mydc = new Namespace("http://purl.org/dc/elements/1.1/");
myxapRights = new Namespace("http://ns.adobe.com/xap/1.0/rights/");
var p = myXMPData.myrdf::RDF.myrdf::Description;
/*
We test whether this element has a value already, if no, we assign it a
value, otherwise we assign it another value.
*/
if (p.mydc::rights.myrdf::Alt.myrdf::li.toString() == "") {
p[0] += <rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<dc:rights>
<rdf:Alt>
<rdf:li xml:lang="x-default">
{CopyrightNotice}
</rdf:li>
</rdf:Alt>
</dc:rights>
</rdf:Description>
} else
p.mydc::rights.myrdf::Alt.myrdf::li = CopyrightNotice;
/*
Some elements are converted into attributes, so we need to first test
whether the xapRights:Marked attribute is present, if not, we add it in as an
element; otherwise, if the attribute is present, we update the attribute.
Acrobat changes certain elements into attributes; the xapRights:Marked and
xapRights:WebStatement are two such examples, but dc:rights above is one
that is not changed into an attribute.
*/
if (p.@myxapRights::Marked.toString() == "" ) {
p[0] += <rdf:Description rdf:about=""
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xapRights="http://ns.adobe.com/xap/1.0/rights/">
<xapRights:Marked>{CopyrightStatus}</xapRights:Marked>
<xapRights:WebStatement> {CopyrightInfoURL} </xapRights:WebStatement>
</rdf:Description>
} else {
p.@myxapRights::Marked = CopyrightStatus;
p.@myxapRights::WebStatement = CopyrightInfoURL;
}
// Convert myXMPData into a string
myNewXMPStr=myXMPData.toXMLString();
// and assign it to the document metadata
this.metadata = myNewXMPStr;



MfG
York Simon


als Antwort auf: [#571271]

Daten in Dokumenteigenschaften einlesen/eintragen

bavella
Beiträge gesamt: 172

3. Aug 2019, 12:03
Beitrag # 3 von 4
Beitrag ID: #571294
Bewertung:
(4137 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Upps, da hatte ich versehentlich den Link zu einer älteren Version erwischt.

Hier ist eine aktuellere Version der JS-API-Reference, aus dem das Beispiel-Script entnommen ist:

http://www.adobe.com/...js_api_reference.pdf


als Antwort auf: [#571289]

Daten in Dokumenteigenschaften einlesen/eintragen

karla123
Beiträge gesamt: 12

6. Aug 2019, 11:46
Beitrag # 4 von 4
Beitrag ID: #571333
Bewertung:
(4077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber bavella,

vielen Dank für die Antwort und das Script! Ist genau das was ich möchte!
Kann man dieses Script noch so erweitern, das eine Eingabemaske erscheint in der die Daten einzutragen sind?

Das wäre ganz Klasse!!

Lieben Gruß und vielen Dank
Karla


als Antwort auf: [#571289]
X