[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Elemente aus CC-Library mittels Script im Dokument platzieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Elemente aus CC-Library mittels Script im Dokument platzieren

Medienoperator
Beiträge gesamt: 47

26. Mär 2019, 14:39
Beitrag # 1 von 6
Bewertung:
(3429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ich bin auf der Suche nach einer Möglichkeit, ein Element aus einer CC-Bibliothek per Script im Dokument bzw. an der aktuellen Cursorposition zu platzieren.
Im Objektmodell finde ich zwar den Befehl
Document.placeCloudAsset
Dieser erwartet als Parameter jedoch irgendwelche JSON-Daten:


Zitat Document.placeCloudAsset (jsondata: string )
Adobe InDesign CC 2018 (13.0) Object Model
place a cloud asset on the document
jsondata: Data Type: string
JSON data containing metadata about the cloud asset


Weiß jemand, wie diese JSON-Daten aussehen müssen, damit das klappt?

Vielen Dank und Grüße
Sascha

(Dieser Beitrag wurde von Medienoperator am 26. Mär 2019, 14:40 geändert)
X

Elemente aus CC-Library mittels Script im Dokument platzieren

WernerPerplies
Beiträge gesamt: 2759

26. Mär 2019, 15:06
Beitrag # 2 von 6
Beitrag ID: #569465
Bewertung:
(3412 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sascha,

ausführliche Infos gibt es hier:
Json.org

sieht so aus:

{
"Stringname": "Stringinhalt",
"Zahlname": 123,
"BooleanName": true|false,
"ArrayName": [1,2,3,4]
}

InDesign kennt auch noch diese Form:

{
Stringname: "Stringinhalt",
Zahlname: 123,
BooleanName: true|false,
ArrayName: [1,2,3,4]
}
JSON-Datei erzeugen und wieder einlesen


als Antwort auf: [#569463]

Elemente aus CC-Library mittels Script im Dokument platzieren

Medienoperator
Beiträge gesamt: 47

26. Mär 2019, 15:52
Beitrag # 3 von 6
Beitrag ID: #569471
Bewertung:
(3402 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,
vielen Dank für die schnelle Antwort. Das hilft für die Syntax schonmal weiter.
Wichtig wäre aber, welche Metadaten ich genau angeben muss, um Zugriff auf ein bestimmtes Bibliothekselement zu bekommen.

So funktioniert es jedenfalls nicht:
Code
var meinJSON = '{ 
"Bibliotheksname": "MeineCCLibrary",
"Elementname": "Test123"
}';
app.activeDocument.placeCloudAsset(meinJSON);


Aber ich schätze mal, dass die rot markierten Bereiche (Bibliotheksname + Elementname) eine bestimmte Bezeichnung benötigen...


als Antwort auf: [#569465]
(Dieser Beitrag wurde von Medienoperator am 26. Mär 2019, 15:54 geändert)

Elemente aus CC-Library mittels Script im Dokument platzieren

WernerPerplies
Beiträge gesamt: 2759

26. Mär 2019, 16:56
Beitrag # 4 von 6
Beitrag ID: #569476
Bewertung:
(3378 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hollo Sascha,

die Namen sind Eigenschaftsnamen der verwendeten Objekte, diese Namen findest Du in der Doku.

Allerdings habe ich im Moment keine Ahnung, wie man auf Cloud-Libraries per Skript zugreift, also auch nicht, in welcher Doku diese Infos stehen.

Eventuell in den Applikationseigenschaften.


als Antwort auf: [#569471]

Elemente aus CC-Library mittels Script im Dokument platzieren

Uwe Laubender
Beiträge gesamt: 5314

26. Mär 2019, 19:02
Beitrag # 5 von 6
Beitrag ID: #569483
Bewertung:
(3360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: …Allerdings habe ich im Moment keine Ahnung, wie man auf Cloud-Libraries per Skript zugreift, also auch nicht, in welcher Doku diese Infos stehen. …


Hallo Werner,
öffentlich dokumentiert ist da leider nichts, also nicht, dass ich wüsste.

Die CC-Libraries werden auch unabhängig von InDesign als Cloud-Service weiterentwickelt. Bisher können Assets aus InDesign, Illustrator oder PhotoShop gespeichert werden. Mich "Ach-und-krach" können die dann zwischen den 3 Applikationen ausgetauscht werden.

Braucht man eine verlässliche Bibliothekfunktion, die nur zwischen InDesign-Dokumenten funktionieren soll, ist es besser, mit *.indl-Dateien zu arbeiten. Da gibt's wenigstens volle DOM-Unterstützung. Oder man programmiert etwas Eigenes um IDMS-Snippets oder IDML-Dateien herum, das einen ähnlichen Funktionsumfang hat.


als Antwort auf: [#569476]

Elemente aus CC-Library mittels Script im Dokument platzieren

WernerPerplies
Beiträge gesamt: 2759

27. Mär 2019, 07:34
Beitrag # 6 von 6
Beitrag ID: #569492
Bewertung:
(3334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Uwe,

Zitat öffentlich dokumentiert ist da leider nichts, also nicht, dass ich wüsste.


Ja, sehe ich genauso.

Und wenn man sich die Parameterbeschreibung von placeCloudAsset ansieht, dann verdient die allenfalls einen Lacher:
jsondata String JSON data containing metadata about the cloud asset

Eigentlich sollte man meinen, dass die CC-Libraries eine eigene virtuelle Collection oder Element von app.Libraries sind, aber weit gefehlt!

Es gibt zwar eine Reihe von Properties, die auf die Cloud verweisen, wie. z.B.:
CommentTypeEnum.CLOUD_TYPE
exportSelectionForCloudLibrary(to)
getUserChoiceForCloudTextAddition()
openCloudAssetForEdit (jsondata:String) :-)
setCloudLibraryCollection (librariesCollectionInfo:String) // tring JSON encoded information about cloud libraries collection :-)
setCloudLibraryOptions (maxwidth:Number, maxheight:Number)
placeCloudAsset (jsondata:String)

Aber das scheint's dann schon gewesen zu sein.

Ich vermute mal, wenn es gelingen würde, diesen String mit gültigem Inhalt zu versehen, könnte man die Sache von hinten aufrollen. -> collection, Elements, Properties Of Elements usw.

gültige Parameter könnten z. B. Name, Path, FullName, File, usw. sein.


als Antwort auf: [#569483]
X