[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: 893

13. Okt 2018, 15:21
Beitrag # 1 von 7
Bewertung:
(1396 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
X

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

Hans Haesler
  
Beiträge gesamt: 5742

15. Okt 2018, 09:13
Beitrag # 2 von 7
Beitrag ID: #566856
Bewertung:
(1339 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: 893

15. Okt 2018, 10:03
Beitrag # 3 von 7
Beitrag ID: #566858
Bewertung:
(1331 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: 5742

15. Okt 2018, 18:02
Beitrag # 4 von 7
Beitrag ID: #566862
Bewertung:
(1281 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: 893

15. Okt 2018, 19:18
Beitrag # 5 von 7
Beitrag ID: #566864
Bewertung:
(1271 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: 5742

15. Okt 2018, 19:38
Beitrag # 6 von 7
Beitrag ID: #566865
Bewertung:
(1264 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: 893

15. Okt 2018, 19:48
Beitrag # 7 von 7
Beitrag ID: #566866
Bewertung:
(1258 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

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.
pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
24.09.2019

Nürnberg
Dienstag, 24. Sept. 2019, 09.30 Uhr

Schulung, Seminar

In unserer eintägigen Schulung „Acrobat Professional und PDF/X für Grafik und PrePres“ erklären wir Ihnen alle Grundlagen der PDF-Technologie: angefangen vom richtigen Umgang mit Schriften, dem korrekten Erzeugen einer PDF-Datei bis hin zur Speicherung Ihrer PDF-Datei als Preflight-geprüftes PDF/X.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/schulungen/schulung-acrobat-professional-und-pdfx/

Acrobat Professional und PDF/X für Grafik und PrePress
Veranstaltungen
24.09.2019

Impressed GmbH, Hamburg
Dienstag, 24. Sept. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen Webinar stellen wir Ihnen die Neuerungen in der Version 2019 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 2019