[GastForen Programmierung/Entwicklung AppleScript InDesign CS2: Einfügen von Seiten verschiebt Rahmen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

InDesign CS2: Einfügen von Seiten verschiebt Rahmen

Hans Haesler
  
Beiträge gesamt: 5818

16. Mär 2007, 13:09
Beitrag # 1 von 1
Bewertung:
(1189 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

wenn man in einem InDesign-Dokument einen Druckbogen einfügt, dann werden die
Y-Positionen bestehender Rahmen auf den nachfolgenden Seiten verschoben.
Okay, nur äusserst geringfügig. Mit dem Auge nicht feststellbar. Aber per Script ...

Ausprobieren: Ein neues, doppelseitiges Dokument anlegen. Direkt drei Seiten
verlangen oder nachträglich zwei Seiten einfügen. Auf Seite 2 einen Bildrahmen
erzeugen (X = 40 mm, Y = 60 mm, B = 80 mm, H = 50 mm). Das Dokument speichern
(z.B. "test_1.indd").

Nun ein Speichern-Unter vornehmen (z.B. "test_2.indd"). Dann nach der ersten Seite
zwei neue Seiten einfügen (Seitenpalette, Fly-Out-Menü, "Seiten einfügen...").

Das erste Dokument wieder öffnen (Datei/Zuletzt verwendete Datei öffnen) und
folgendes Script abspielen:
---
tell application "Adobe InDesign CS2"
   set {ay1, ax1, ay2, ax2} to geometric bounds of page item 1 of document 1
   set {by1, bx1, by2, bx2} to geometric bounds of page item 1 of document 2
   if ay1 is by1 [color=#0000FF]then
      set
[/color] msg to "identisch"
   [color=#0000FF]else
      set
[/color] msg to "verschoben"
   [color=#0000FF]end if
end tell
[/color]
---
Das Resultat: "verschoben"

Wenn man die Rahmen auswählt, dann stehen in der Kontrollpalette exakt dieselben
Werte. Wenn man das Eventprotokoll-Fenster öffnet und das Script nochmals startet,
dann wird für beide Rahmen eine identische Zeile eingetragen: {60.0, 40.0, 110.0, 120.0}

Warum denn, ergibt der Test ( if ay1 is by1 ) keine Übereinstimmung?
Darum:
---
tell application "Adobe InDesign CS2"
   set {ay1, ax1, ay2, ax2} to geometric bounds of page item 1 of document 1
   set {by1, bx1, by2, bx2} to geometric bounds of page item 1 of document 2
end tell
{60 - ay1, 60 - by1}
---
Im Ergebnisfenster steht (bei mir): {4.9737991503207E-14, -7.8159700933611E-14}

Das "E" steht für "exponentiell" und das "-14" bedeutet, dass der Dezimaltrenner
um 14 Stellen nach links verschoben werden muss.

Das heisst, dass der sorgfältig eingetippte Y-Wert des Originalrahmens eigentlich
59.999999999999950262008496793 beträgt. Und dass dieser beim Einfügen der Seiten auf
60.000000000000078159700933611 verschoben wurde.

Dass in der Kontrollpalette auf "60.0" auf- und abgerundet wird ist klar. Aber warum
auch im Eventprotokoll? Weil das Rechnen mit solch einem Rattenschwanz nicht möglich ist:
60 - 4.9737991503207E-14 ergibt schon beim Prüfen der Syntax eine Fehlermeldung.

Aber wie kann man erreichen, dass auch das Script eine Übereinstimmung meldet?
So:
---
tell application "Adobe InDesign CS2"
   set {ay1, ax1, ay2, ax2} to geometric bounds of page item 1 of document 1
   set {by1, bx1, by2, bx2} to geometric bounds of page item 1 of document 2
   set ay1 to (((10000 * ay1) + 0.5) div 1) / 10000
   set by1 to (((10000 * by1) + 0.5) div 1) / 10000
   if ay1 is by1 [color=#0000FF]then
      set
[/color] msg to "identisch"
   [color=#0000FF]else
      set
[/color] msg to "verschoben"
   [color=#0000FF]end if
end tell
[/color]
---

Doch wenn die beiden eingeschobenen Seiten wieder entfernt werden, meldet auch das
erste Script: "identisch"...

Gruss, Hans
X

Aktuell

InDesign / Illustrator

| 23.05.2022

IDUG_300

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 hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/