[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Hilfe benötigt: Biblothekelement einfügen

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

Hilfe benötigt: Biblothekelement einfügen

jodi
Beiträge gesamt:

21. Jun 2017, 20:12
Beitrag # 1 von 6
Bewertung:
(7247 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe folgendes Skript. Da tut was soll, ich poste es wegen den definierten Variablen komplett, brauche aber nur einen kleinen Teil, den ich einfach nicht hinbekomme.
Und zwar soll auf jeder rechten Seite der Rahmen mit dem Absatzformat "ABC" gelöscht werden und auf dieser Seite das Element "el re" aus der Bibliothek platziert werden, entsprechend soll auf jeder linken Seite der Rahmen mit dem Absatzformat "EFG" gelöscht werden und auf dieser Seite das Element "el li" platziert werden.

Code
//RahmenAusrichten_551d.js 
//jo diekmann
//19.04.15
//verschiebt Titel und Autor

// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.", "Achtung");
exit();
}

// das aktive Dokument
var curDoc = app.activeDocument;
// alle Objekte im Dokument
var allPageItems = curDoc.allPageItems;
// den Ursprung der Linealeinheiten auf "Seite" setzen
var rO = (curDoc.viewPreferences.rulerOrigin)*1;
if (rO != 1380143215) {
curDoc.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN;
}

// eine Schleife durch alle Objekte im Dokument
for (var a=0; a<allPageItems.length; a++) {
// das aktive Objekt
var curPageItem = allPageItems[a];
var curName = curPageItem.name;
var curSide = curPageItem.parentPage.side;

if (curName == "titelbox" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([10, 5]);
}
else if (curName == "titelbox" && curSide == PageSideOptions.RIGHT_HAND) {
curPageItem.move([61, 5]);
}
if (curName == "inhalt" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([10, 15]);
}
else if (curName == "inhalt" && curSide == PageSideOptions.RIGHT_HAND) {
curPageItem.move([15, 15]);
}
if (curName == "autorbox" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([151, 5]);
}
else if (curName == "autorbox" && curSide == PageSideOptions.RIGHT_HAND) {
curPageItem.move([15, 5]);
}

// verschiebt Rubriken
if (curName == "rubrikbox" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([10, 141]);
}
else if (curName == "rubrikbox" && curSide == PageSideOptions.RIGHT_HAND) {

if (curPageItem.geometricBounds[3] - curPageItem.geometricBounds[1] > 110 ) {
curPageItem.move([15, 141]);
}
else {


curPageItem.move([100, 141]);
}
}

// verschiebt Linien
if (curName == "balken" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([149.75, -3]);
}
else if (curName == "balken" && curSide == PageSideOptions.RIGHT_HAND) {
curPageItem.move([59.75, -3]);
}

// verschiebt rsn
if (curName == "rsnfuss" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([110, 142]);
}
else if (curName == "rsnfuss" && curSide == PageSideOptions.RIGHT_HAND) {
curPageItem.move([15, 142]);
}
}

// den Linealursprung wiederherstellen
if (rO != 1380143215) {
app.activeDocument.viewPreferences.rulerOrigin = rO;
}

// nachfolgende Codezeilen sind dem "RubrikAusrichten_552d.js" entnommen

// Referenzen zu den beiden Absatzformaten
var leftStyle = curDoc.paragraphStyles.itemByName("rubrik links");
var rghtStyle = curDoc.paragraphStyles.itemByName("rubrik rechts");

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findGrepPreferences = app.changeGrepPreferences = null;
// den Ersetzen-String definieren (das Austauschen der Gruppen)
app.changeGrepPreferences.changeTo = "$2$1";

// eine Schleife durch die Seiten
for (var p=0; p<curDoc.pages.length; p++) {
// die aktuelle Seite
var curPage = curDoc.pages[p];
// die Objekte der aktuellen Seite
var allObjects = curPage.allPageItems;
// eine Schleife durch die Objekte
for (var k=0; k<allObjects.length; k++) {
var curFrame = allObjects[k];
if (curFrame.constructor.name == "TextFrame") {
if (curFrame.name == "rubrikbox") {
if ((curPage.side)*1 == 1919382632) { // eine rechte Seite //ab hier der relevante Abschnitt
// der Name des Absatzformates
var curStyle = curFrame.parentStory.appliedParagraphStyle.name;
// den Namen testen
if (curStyle == "rubrik links") {
// das Absatzformat zuweisen
curFrame.paragraphs[0].appliedParagraphStyle = rghtStyle;
}
// die Muster vorbereiten
app.findGrepPreferences.findWhat = "(.+)(\t)";
// das Ergebnis
curFrame.changeGrep();
}
else { // eine linke Seite
var curStyle = curFrame.parentStory.appliedParagraphStyle.name;
if (curStyle == "rubrik rechts") {
curFrame.paragraphs[0].appliedParagraphStyle = leftStyle;
}
app.findGrepPreferences.findWhat = "(\t)(.+)";
curFrame.changeGrep();
}
}
}
}
}

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findGrepPreferences = app.changeGrepPreferences = null;

// den Anwender informieren
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(300);
// das Fenster schliessen
dlog.close();


Mit einer Anpassung von

Code
var activeSpread = app.activeWindow.activeSpread;     


var curDoc = app.documents[0];
curDoc.spreads.add(LocationOptions.AFTER, activeSpread);
var theDoc = app.activeDocument;
var libAssets = app.libraries.item("Bibliothek.indl").assets;
var libItem = libAssets.item("** doppelseite neu");
libItem.placeAsset(theDoc);


Komme ich leider nicht weiter.


Vielen Dank!

(Dieser Beitrag wurde von Hans Haesler am 22. Jun 2017, 11:26 geändert)
X

Hilfe benötigt: Biblothekelement einfügen

Kai Rübsamen
Beiträge gesamt: 4684

22. Jun 2017, 09:11
Beitrag # 2 von 6
Beitrag ID: #558177
Bewertung:
(7229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jo,

ich hab zwar heute keine Zeit, weil Schulung, aber du könntest schon mal ein idml + deine Bibliotheksobjekte posten. Viell. schaut es sich dann schon ein anderer an.


als Antwort auf: [#558171]

Hilfe benötigt: Biblothekelement einfügen

jodi
Beiträge gesamt:

22. Jun 2017, 13:33
Beitrag # 3 von 6
Beitrag ID: #558183
Bewertung:
(7182 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

danke für deine nette Nachricht. Leider bin ich keine Member mehr und kann keine Anhänge mehr hochladen.
EDIT: Habe gerade "gespendet", dauert aber vermutlich, bis mein User-Status aktualisiert wird.
Ich werde mir eine andere Lösung überlegen bzw. auf eine Automatisierung verzichten. Schade.


als Antwort auf: [#558177]

Hilfe benötigt: Biblothekelement einfügen

jodi
Beiträge gesamt:

23. Jun 2017, 08:37
Beitrag # 4 von 6
Beitrag ID: #558197
Bewertung:
(7123 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kann immer noch nichts hochladen, meines Memberstatus ist noch nicht aktualisiert. Hm ...


als Antwort auf: [#558183]

Hilfe benötigt: Biblothekelement einfügen

Kai Rübsamen
Beiträge gesamt: 4684

23. Jun 2017, 10:30
Beitrag # 5 von 6
Beitrag ID: #558201
Bewertung:
(7111 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Naja, es gibt ja auch noch Alternativen zum hds-upload … dachte, du wolltest es händisch lösen?


als Antwort auf: [#558197]

Hilfe benötigt: Biblothekelement einfügen

jodi
Beiträge gesamt:

23. Jun 2017, 16:07
Beitrag # 6 von 6
Beitrag ID: #558208
Bewertung:
(7080 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Händisch, ja, weil ich unter Eile bin, aber dazulernen wäre auch nicht schlecht. ;-)


als Antwort auf: [#558201]
X