[GastForen Programmierung/Entwicklung AppleScript rahmen fuer infografiken automatisch erstellen

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

rahmen fuer infografiken automatisch erstellen

Anonym
Beiträge gesamt: 22827

8. Dez 2003, 10:23
Beitrag # 1 von 4
Bewertung:
(899 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo hans,

heute haette ich vielleicht mal eine kleine herausforderung fuer dich ;-)

xp 4.11, 8.6 bis 9.21, as 1.6

folgende ausgangslage:
eigene als auch infografiken von fremdanbietern werden als eps in ein xpress-doku geladen. dieses dokument enhaelt sieben elemente. eine 1,5 punkt fette gestrichelte linie oben und unten, dazwischen als hintergrund im abstand von einem millimeter zu den linien eine 10% schwarze flaeche. oben im grauen rahmen (2mm abstand zur oberkante der grauen box) steht eine headline in 14 blissextrabold innerhalb eines weissen rahmens (hoehe 5,25mm, breite: dokubreite minus 4mm auf mitte; texteinzug ,75mm lnks und rechts). mit 2,5 mm abstand folgt eine subheadline; 9pt blissregular. nach weiteren 2,5 mm beginnt die bildbox fuer das eps (breite ebenfalls = dokubreite minus 4mm). darunter, abstand wieder 2,5 mm, folgt der quellenhinweis (7pt blissregular).

spaltenbreiten: 51, 106 oder 160 mm.


funktionsidee wie folgt:

der anwender startet ein script, das spaltigkeit, hoehe (vielleicht laesst sich aus dem eps die hoehe auslesen, die koennte man auch im infografik-eps-namen ablegen ebenso wie die hoehe, damit am die groesse der bildbox bestimmen kann, zu der sich dann die hoehe der restelemente zur dokuhoehe addiert), headline-text, subheadline-text, lage der eps-datei und quellenhinweis per dialogfenster abfragt und dann daraus automatisch ein dokument erstellt.

gerne(!!!) sende ich dir auch ein beispieldokument …

schau mal, ob du lust und zeit hast dich damit zu beschaeftigen.

einen schoenen tag

cu

hans
X

rahmen fuer infografiken automatisch erstellen

Hans Haesler
  
Beiträge gesamt: 5822

8. Dez 2003, 11:46
Beitrag # 2 von 4
Beitrag ID: #418494
Bewertung:
(898 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

ja, ein Beispieldokument wäre sehr hilfreich, ebenso eine typische Grafik.
Und Angaben woher die Texte für die Headline, die Sub-Headline und den Quellen-
hinweis stammen (eingetippt oder Datei). Die Schrift "Bliss" habe ich auch nicht.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418493]

rahmen fuer infografiken automatisch erstellen

Hans Haesler
  
Beiträge gesamt: 5822

9. Dez 2003, 16:00
Beitrag # 3 von 4
Beitrag ID: #418495
Bewertung:
(898 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Für die paar interessierten Leute: die erste Version des Scripts ist abgeschickt. Wie befürchtet, war die Entwicklung recht aufwendig, aber ich glaube, dass es nun brauchbar ist.

Wie von Hans-Gerd skizziert, wird die Anzahl Spalten und die Bildhöhe im Bildnamen festgehalten. Beispiel: "Bildname_2sp_123,456h.eps". Damit die Umwandlung dieser Informationen ohne Fehlermeldung gelingt, habe ich einen Stolperstein aus dem Weg räumen müssen: der Dezimalseparator in Deutschland ist das Komma. Hier haben wir den Punkt. Zum Testen nicht sehr praktisch. Ich fand folgende Lösung: das Zeichen, welches im System als Dezimalseparator verwendet wird, in eine Variable geben:
Code
set decSep to (character 2 of (1 / 2 as string)) 

Später, vor dem Umwandeln der Bildhöhe in eine Bruchzahl, wird der aktuelle Separator eingesetzt. Interessant: im Resultat wird immer der Punkt als Separator verwendet.

Aber zuerst müssen die Informationen aus dem Namen herausgezogen werden.
---
set AppleScript's text item delimiters to {"_"}
-- das erste Zeichen des zweitletzten Wortes und das letzte Wort des Bildpfades ausziehen
try
  set numCol to character 1 of text item -2 of fullPath
  set heightString to text item -1 of fullPath
  set AppleScript's text item delimiters to {""}
on error
  set AppleScript's text item delimiters to {""}
end try
-- prüfen, ob das Zeichen wirklich eine Zahl zwischen 1 und 3 ist
if numCol is in "123" then
  set numCol to numCol as integer
end if
-- den Dezimalseparatoren feststellen
set decSep to (character 2 of (1 / 2 as string))
set picHeight to ""
-- die Bildhöhe aus dem letzten Wort des Namens ausziehen
repeat with i from 1 to count of heightString
  set curChar to character i of heightString
  if curChar is in "0123456789,." then
    set picHeight to picHeight & curChar
  else
    exit repeat
  end if
end repeat
set tmpHeight to ""
-- den Dezimalseparatoren einsetzen
repeat with i from 1 to count of picHeight
  set curChar to character i of picHeight
  if curChar is in "0123456789" then
    set tmpHeight to tmpHeight & curChar
  else
    set tmpHeight to tmpHeight & decSep
  end if
end repeat
-- Bildhöhe (ist immer noch ein String) in eine Bruchzahl verwandeln
try
  tell document 1 of application "QuarkXPress 4.11"
    set picHeight to tmpHeight as real
  end tell
end try
---
Dies ist nur ein kleiner (und gekürzter) Ausschnitt. Wer gerne das ganze Script ausprobieren möchte: nur anfragen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418493]

rahmen fuer infografiken automatisch erstellen

Anonym
Beiträge gesamt: 22827

9. Dez 2003, 16:53
Beitrag # 4 von 4
Beitrag ID: #418496
Bewertung:
(898 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo hans,

du bist ja schneller als der schall. sobald ich zu hause bin werde ich dein "praesent" auspacken und testen.

du hoerst von mir !

cu

hans-gerd


als Antwort auf: [#418493]
X