grefel / idshelper Goto Github PK
View Code? Open in Web Editor NEWInDesign Skripting Helper Utilities
InDesign Skripting Helper Utilities
Output stack only in DEBUG Mode
Shorten the date in log output File
http://indesignjs.de/idshelper leads to nowhere :-(
Markdown formatting in README.md is not OK. That makes it very hard to read.
If you like, you can copy the corrected text below.
Best regards, Martin
Adobe InDesign Scripting Helper Utilities
Originally developed for the book InDesign automatisieren.
Die Skripting-Bibliothek idsHelper.jsx enthält zwei Klassen und ein Logging-Framework, die hilfreiche Methoden für die Entwicklung von Skripten in Adobe InDesign zur Verfügung stellen.
Wenn Sie die Bibliothek verwenden möchten, müssen Sie diese über #include
in Ihre Skripte einbinden.
#include idsHelper.jsx
idsTools.checkOverflow(app.activeDocument.stories[0]);
Über #include
können beliebige Skriptdateien eingebunden werden. Hier muss die Datei idsHelper.jsx im gleichen Verzeichnis wie die Skriptdatei liegen, es können auch relative Pfade angegeben werden.
Die Bibliothek enthält die Klassen idsTools
und idsMap
. Über idsTools
kann man wie in Zeile 2 auf die Methoden der Klasse zugreifen.
Im Folgenden erkläre ich die wichtigsten Methoden der Bibliothek.
In der Klasse idsTools
sind die Methoden aus Kapitel 11 und einige weitere Helferlein gesammelt.
Mit getPageByObject(objekt)
kann man die Seite ermitteln, auf der sich das im Parameter übergebene Objekt befindet, mit getSpreadByObject(objekt)
entsprechend den Druckbogen.
Mehrspaltige Textrahmen mit Textüberlauf können nicht mit der Methode fit()
angepasst werden. Die Methode fitTextFrame(tf, step)
vergrößert den im ersten Parameter übergebenen Textrahmen so lange, bis er keinen Textüberlauf mehr aufweist. Als zweiter Parameter wird die Schrittweite, mit der der Textrahmen vergrößert werden soll, übergeben.
Bei längeren Textabschnitten sollten die Methoden previousItem()
und nextItem()
von Text
-Objekten vermieden werden. Schneller arbeiten Sie mit den Methoden nextParagraph(par)
bzw. nextChar(char)
, denen das Zeichen bzw. der Absatz als Parameter übergeben werden muss.
Die Methode arraySortDE()
kann der Array-Methode sort()
als Parameter übergeben werden: array.sort(arraySortDE)
. Mit ihrer Hilfe wird die Sortierung unter Berücksichtigung deutscher Umlaute durchgeführt.
Die Methoden readTextFile(file)
und writeTextFile(file, string)
helfen beim Einlesen bzw. Erstellen von Textdateien. Der Methode readTextFile(file)
muss ein File
-Objekt als Parameter übergeben werden, sie liefert den Inhalt als String zurück. Der Methode writeTextFile(file, string)
muss ein File
-Objekt und der String, der in die Textdatei geschrieben werden soll, übergeben werden.
Eine Map oder ein Assoziatives Array ist eine Art Array, mit dem man über einen Namen bzw. Schlüssel auf einzelne Werte zugreifen kann. Das folgende Listing zeigt das Vorgehen:
#include "idsHelper.jsx"
var map = idsMap();
map.pushItem("key1","Ein Wert");
map.pushItem("key2","Ein anderer Wert");
alert("Es sind " + map.length + " Werte gespeichert.");
alert("Bei [Key1] ist der Wert " + map.getItem("key1"));
alert("Schlüssel [key2] ist enthalten " + map.hasItem("key2"));
map.removeItem("key2");
Mit dem Aufruf idsMap()
wird eine neues Objekt erstellt. Mit der Methode pushItem()
kann ein neuer Eintrag erstellt werden. Im ersten Parameter wird der Schlüssel, im zweiten der Wert übergeben. In der Eigenschaft length
ist die Anzahl der Elemente enthalten. Mit der Methode getItem()
kann ein Wert anhand seines Schlüssels abgerufen werden. Mit hasItem()
kann geprüft werden, ob ein Eintrag für den im Parameter übergebenen Schlüssel existiert. Mit der Methode removeItem()
wird ein Eintrag anhand eines Schlüssels gelöscht.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.