[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

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

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

cwenet
Beiträge gesamt: 870

13. Okt 2018, 15:21
Beitrag # 1 von 7
Bewertung:
(472 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich habe ein 2-spaltiges Layout, welches mit Randziffern versehen wurde. Die Randziffern sind jeweils in einem eigenen Textrahmen im Fliesstext verankert. Nun möchte ich herausfinden, in welcher Spalte die Marke für das verankerte Objekt steht.

So habe ich schonmal angefangen:

Code
var myItems = app.activeDocument.allPageItems;   

for (oneItem = myItems.length-1; oneItem >= 0; oneItem--)
{

if (myItems[oneItem].constructor.name == "TextFrame")
{

if (myItems[oneItem].appliedObjectStyle.name == "Randziffer"){

var tf = myItems[oneItem].insertionPoints[0].parentTextFrames[0];
var gB = tf.geometricBounds;
var links = gB[1];
var rechts = gB[3];
//alert(links);

}
}
}



Ich finde also alle Textrahmen die eine Randziffer beinhalten.
Wie kann ich nun herausfinden, ob sie in Spalte 1 oder Spalte 1 meines Layouts steht?
GeometricBounds zeigt mit ja nur die Position des Rahmens mit der Randziffer, nicht aber die Marke.

Bitte um Hilfe
Christoph
Hier Klicken X

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

Hans Haesler
  
Beiträge gesamt: 5659

15. Okt 2018, 09:13
Beitrag # 2 von 7
Beitrag ID: #566856
Bewertung:
(415 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

würdest Du bitte ein Beispiel-Dokument hochladen?

Gruss, Hans


als Antwort auf: [#566842]

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

cwenet
Beiträge gesamt: 870

15. Okt 2018, 10:03
Beitrag # 3 von 7
Beitrag ID: #566858
Bewertung:
(407 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Hans,

danke fürs Antworten. Ich habe hier ein Demo-Dok abgelegt:

https://www.dropbox.com/s/4ezjpmkixacniyb/Randziffer_hds.indd?dl=0

Für die Randziffern gibt es zwei unterschiedliche Ojektformate.
Nun möchte ich erkennen können, wo sich die Ankermarke jeweils befindet – Innen oder Aussen – und dann dass passende Objektformat zuweisen.

Grüße
Christoph


als Antwort auf: [#566856]

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

Hans Haesler
  
Beiträge gesamt: 5659

15. Okt 2018, 18:02
Beitrag # 4 von 7
Beitrag ID: #566862
Bewertung:
(357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ein anderer Ansatz: Mit einer Textsuche die Anker aufspüren. In einer Schleife deren horizontale Position speichern,
dem verankerten Textrahmen je nach Position (und linker oder rechter Seite) den Objektstil zuweisen.

Wichtig: Damit es funktioniert, muss der Linealursprung des Dokuments auf "Seite" geändert werden.

Code
//RandZiffernPositionieren_01d.js 

// die Auswahl speichern ...
var curSel = app.selection;
// ... und prüfen
if (curSel.length == 0) {
alert ("Es ist nichts ausgewählt.", "Achtung");
exit();
}
// der Variablen 'mainStory' den Textfluss zuweisen
if (curSel[0].constructor.name == "TextFrame") {
mainStory = curSel[0].parentStory;
}
else {
if (curSel[0].constructor.name == "InsertionPoint") {
mainStory = curSel[0].parent;
}
else {
alert ("Einen Rahmen des Textflusses auswählen.", "Stop");
exit();
}
}

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findTextPreferences = app.changeTextPreferences = null;

// das Suchmuster definierem
app.findTextPreferences.findWhat = "^a";

// die Objektstile
objStyleOutside = app.documents[0].objectStyles.itemByName("Randziffer");
objStyleInside = app.documents[0].objectStyles.itemByName("Randziffer innen");

// die Vorkommen finden ...
var allFound = mainStory.findText();
// ... und zählen
var nFound = allFound.length;

// eine Schleife durch die Vorkommen
for (var n=0; n<nFound; n++) {
// die horizontale Position feststellen
var hOff = allFound[n].horizontalOffset;
// der verankerte Textrahmen
var curFrame = allFound[n].textFrames[0];
// linke oder rechte Seite
var curSide = (curFrame.parentPage.side)*1;
// je nach Position und linker oder rechter Seite das Objektformat zuweisen
if (hOff < 80) {
if (curSide == 1818653800) { // linke Seite
curFrame.applyObjectStyle(objStyleOutside);
curFrame.parentStory.justification = Justification.RIGHT_ALIGN;
}
else {
curFrame.applyObjectStyle(objStyleInside);
curFrame.parentStory.justification = Justification.RIGHT_ALIGN;
}
}
else {
if (curSide == 1919382632) { // rechte Seite
curFrame.applyObjectStyle(objStyleOutside);
}
else {
curFrame.applyObjectStyle(objStyleInside);
}
}
}

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findTextPreferences = app.changeTextPreferences = null;

// das Ende der Aktion verkünden
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
$.sleep(999);
dlog.close();

Sollten die Ziffern nicht auch entsprechend ausgerichtet sein? Falls nicht: Die Zeilen 51 und 55 entfernen. ;-)

Gruss, Hans


als Antwort auf: [#566858]

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

cwenet
Beiträge gesamt: 870

15. Okt 2018, 19:18
Beitrag # 5 von 7
Beitrag ID: #566864
Bewertung:
(347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

vielen lieben Dank für das Script.
Es funktioniert sehr gut.

Ich hatte den Text versehentlich in die Musterseiten gelegt und nicht auf die "normale" Ebene. Habe es erst garnicht gemerkt. Ich hoffe, du musstest nicht lange danach suchen.

Eine Frage noch zur Einstellung "Lineal pro Seite":

Kann ich das auch "während der Fahrt" umstellen. Muss ich etwas beachten? Nebenwirkungen?

Schönen Abend und vielen Dank
Christoph


als Antwort auf: [#566862]

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

Hans Haesler
  
Beiträge gesamt: 5659

15. Okt 2018, 19:38
Beitrag # 6 von 7
Beitrag ID: #566865
Bewertung:
(340 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

bitte sehr. Danke für die positive Rückmeldung. Keine Sorge, die unzugänglichen Rahmen waren rasch gelöst.

Ja, das Umstellen des Lineals per Script ist möglich. Das ist harmlos. Und der Nullpunkt sollte Null/Null sein.

Code
// den Linealursprung auf "Seite" setzen 
var rO = (curDoc.viewPreferences.rulerOrigin)*1;
if (rO != 1380143215) {
curDoc.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN;
}

// den Nullpunkt auf Null/Null setzen
var zP = app.documents[0].zeroPoint;
if (zP != [0,0]) {
app.documents[0].zeroPoint = [0,0];
}

Am Schluss des Scripts können beide wiederhergestellt werden:

Code
if (rO != 1380143215) { 
app.documents[0].viewPreferences.rulerOrigin = rO;
}
if (zP != [0,0]) {
app.documents[0].zeroPoint = zP;
}

Gruss, Hans


als Antwort auf: [#566864]

Position "Marke für verankertes Objekt" herausfinden (CC2018, WIN10)

cwenet
Beiträge gesamt: 870

15. Okt 2018, 19:48
Beitrag # 7 von 7
Beitrag ID: #566866
Bewertung:
(334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

besten Dank für den Scriptzusatz.
Das ist eine gute Idee. Somit ist der Ursprung wieder hergestellt und muss mir keine Sorgen wegen Nebenwirkungen machen.

Einen schönen Abend
Christoph


als Antwort auf: [#566865]
X

Photoshop

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
22.11.2018

In dieser Veranstaltung kombinieren wir Emotion und Ratio, Gestaltung und Rechtschreibung.

Hochschule der Medien, Stuttgart
Donnerstag, 22. Nov. 2018, 18.00 - 20.00 Uhr

Vortrag

Sven Tillack und Steffen Knöll vom mehrfach ausgezeichneten "Studio Tillack Knoell", Stuttgart, (studiotillackknoell.com) geben einen Einblick in die Arbeit in der visuellen Kommunikation. Ihr Arbeitsfeld ist digitales und analoges, von visuellen Erscheinungsbildern bis hin zu kommunizierender Grafik im Raum. Besondere Erfahrungen hat Sven bei der Arbeit mit Risographie gemacht, Steffen setzt sich seit längerem mit Grafik im Raum auseinander. Auch über diese Projekte werden sie berichten. Lasst euch von ihnen, ihrem Vortrag und ihrer Arbeit inspirieren. Etienne Roth ist Computerlinguist. Er hat die Duden-Korrekturlösungen bereits als Projektleiter und Produktmanager beim Dudenverlag mitentwickelt. Bei EPC betreut er das Lexikon und die Grammatik(fehler)analyse der Korrekturengine. Außerdem ist er Produktmanager für die Duden-Integration in Adobe InDesign. Bei EPC werden die professionellen Duden-Korrekturlösungen weiterentwickelt, vertrieben und gewartet. Dazu gehören Rechtschreib- und Grammatikkorrektur, Stilprüfung und Thesaurus sowie Werkzeuge zur Wörterbuchpflege, lokal und in Netzwerkumgebungen. Die Duden-Rechtschreibprüfung und Silbentrennung sind seit Version 13 (CC 2018) ein integraler Teil von Adobe InDesign. Viele Kunden vermissen aber die bewährte Grammatikprüfung. Der Duden Korrektor CC bringt die beste Grammatikprüfung für die deutsche Sprache zurück nach InDesign und InCopy. Er enthält außerdem die Stilprüfung und den Thesaurus von Duden. Verlosung: Wir verlosen wieder Software, Bücher und Fachzeitschriften im Wert von über 1000 Euro. Neben dem bekannten "CC-Abo für ein Jahr" nun auch ein "Foto-Abo für ein Jahr mit 1 TB Speicher" und brandneu "10 Bilder pro Monat von Adobe Stock für ein Jahr". Die Firma EPC verlost eine Lizenz "Duden Korrektor CC"! Mach Werbung und bring gerne Freunde und Kollegen mit! Wir freuen uns auf Dich. Katharina Frerichs und Christoph Steffens

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

idugs51.eventbrite.com

Veranstaltungen
29.11.2018

Impressed GmbH, Hamburg
Donnerstag, 29. Nov. 2018, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen Webinar stellen wir Ihnen die Neuerungen in der Version 2018 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=249

Enfocus PitStop 2018