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:
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)
Elemente aus CC-Library mittels Script im Dokument platzieren
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:
Aber ich schätze mal, dass die rot markierten Bereiche (Bibliotheksname + Elementname) eine bestimmte Bezeichnung benötigen...
(Dieser Beitrag wurde von Medienoperator am 26. Mär 2019, 15:54 geändert)
Elemente aus CC-Library mittels Script im Dokument platzieren
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. ***** Mit herzlichem Gruß, Uwe Laubender
Elemente aus CC-Library mittels Script im Dokument platzieren
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.