[GastForen Programmierung/Entwicklung AppleScript InDesign CS Pagemaker Plugin Pack scripten

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

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

22. Apr 2005, 05:05
Beitrag # 1 von 13
Bewertung:
(2813 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo scripter!
Zunächst einmal: Die hohe Qualität der Beiträge in diesem Forum lässt mich hoffen, hier eine Lösung für mein aktuelles Problem zu finden.

Ich möchte folgendes tun und weiss noch nicht, wie:
Die Eckdaten: OSX 10.3.9  |  InDesign CS
Ich habe das Pagemaker Plugin Pack installiert, um die Datenzusammenführung zu benutzen. So weit so gut. Dieses Tool leistet gute Arbeit, kann ich nur jedem empfehlen.
Jetzt kommts: Das Ding IST scriptable!
Weiss jemand, wie die Syntax hierfür ist?
Im Grunde sieht es so einfach aus (wie so vieles im Leben) aber letztlich scheitere ich immer wieder an falscher Verwendung der Befehle in Verbindung mit Klassen und Properties :-(
Ich möchte die Auswahl der Datenquelle automatisieren und natürlich auch den  Vorgang der Zusammenführung selber, da ich einen ganzen Haufen von immer gleich aufgebauten Datenquellen immer wieder neu zusammenführen muss.
Falls die Anforderung zu selten ist, könnte es mir durchaus auch helfen, wenn mir jemand erklären kann, wie man die Programmbibliothek richtig liest und vor allem versteht. Möglicherweise kann ich mir mit diesem Wissen schon genug zusammenbasteln!?!
Mir ist im Zusammenhang mit den Bibliotheken immer noch nicht ganz klar, was in welcher Reihenfolge wie zusammengesetzt werden muss. Immerhin hilft der Skripteditor ja manchmal ein bissl und stellt die Syntax richtig zusammen, aber oft eben auch nicht!
Über Antworten schon jetzt hoch erfreut und eben auch dankbar,
demski
X

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

22. Apr 2005, 08:51
Beitrag # 2 von 13
Beitrag ID: #419574
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo demski,

willkommen auch im dtpro-AppleScript-Forum! :-)

Ich bin leider mit Deinem Problem nicht vertraut, weil ich keinen Bedarf für die Konvertierung von PageMaker-Dateien
habe. Auf meiner Mac-OS-9-Maschine ist zwar ein PageMaker installiert, habe diesen aber nie benutzt ...

Wenn ich es richtig verstanden habe, dann ist das PageMaker Plugin Pack im Adobe-CS-Paket enthalten. Ich könnte also
versuchen, die Installation nachzuholen. Aber nicht vor heute Nachmittag.

Zum Lesen des Verzeichnisses: Da ist es wie mit den Wörterbüchern. Die Wörter sind da, zum Teil mit Umschreibungen.
Aber wie man sie zusammensetzt, um eine fremde Sprache zu sprechen ... Dazu braucht es nun mal Beispiele.

Wie sieht denn der Code einer Deiner vergeblichen Versuche aus?

Gruss, Hans


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

22. Apr 2005, 09:37
Beitrag # 3 von 13
Beitrag ID: #419575
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja guten morgen nochmal Hans!
Du bist ja hier echt die treibende Kraft!

Also, das PmPack habe ich ausschliesslich wegen der Funktion Data merge hinzuinstalliert. Ich brauche auch keinen Pagemaker !
Data merge ist zum personalisieren von Drucksachen.
Wir benutzen das hier bei uns, um variablen Daten-Druck zu veranstalten.
Ich bin mir nicht sicher, ob das jetzt schon standard-mässig bei CS dabei ist? Als ich meins erwarb, da musste man den PMPack extra kaufen. Ich habe aber schon läuten hören, das im Bekanntenkreis sowas dabei war. Vielleicht haben sie das später ins Programm aufgenommen!?

Was so interessant bei meinen Versuchen war, das man das PlugIn offenbar wie ein Element ansprechen kann (muss?) Also ein tell data merge
end tell brachte zumindest schonmal keinen Fehler.
ABer: aus der Gruppe Befehle im Bereich Preferences gibt es ein set data  source, welches im Zusammenhang mit data merge steht.
Dies lässt sich aber überhaupt nicht verwenden?!?

Also: In der Bibliothek von InDesign CS gibt es im Bereich "Preferences Suite"
die folgenden drei Klassen:

Class data merge: Data merge
Properties:
 class  type class  [r/o]  -- The class descriptor type
 data merge preferences  data merge preference  [r/o]  -- Data Merge Preferences
 object reference  data merge  [r/o]  -- An object reference for this data merge
 parent  document  [r/o]  -- The data merge's parent
 properties  record  -- Property that allows setting of several properties at the same time

Class data merge option: Data Merge Options
Properties:
 center image  boolean  -- Center Image
 class  type class  [r/o]  -- The class descriptor type
 create new document  boolean  -- Create new document
 document size  integer  -- Record limit per document
 fitting option  proportional/fit content to frame/fit frame to content/preserve sizes  -- Fitting Option
 link images  boolean  -- Link Images
 object reference  data merge option  [r/o]  -- An object reference for this data merge option
 parent  reference  [r/o]  -- The data merge option's parent
 properties  record  -- Property that allows setting of several properties at the same time
 remove blank lines  boolean  -- Remove blank lines for empty fields

Class data merge preference: Data Merge Preferences
Properties:
 arrange by  rows first/columns first  -- Arrangement of records on the page
 bottom margin  number or string  -- Bottom margin for the pages in the target document
 class  type class  [r/o]  -- The class descriptor type
 column spacing  number or string  -- Column Spacing
 left margin  number or string  -- Left margin for the pages in the target document
 object reference  data merge preference  [r/o]  -- An object reference for this data merge preference
 parent  data merge  [r/o]  -- The data merge preference's parent
 properties  record  -- Property that allows setting of several properties at the same time
 record number  integer  -- Record number in case of merging only one record
 record range  plain text  -- record range
 record selection  all records/one record/range  -- Records to be merged
 records per page  single record/multiple record  -- Records Per Page
 right margin  number or string  -- Right margin for the pages in the target document
 row spacing  number or string  -- Row Spacing
 top margin  number or string  -- Top margin for the pages in the target document

und dazu folgende Befehle:
merge records: Merge Records
 merge records  data merge
  [output overset report file  alias or string]  -- Output overset Report file

remove data source: Remove data source
 remove data source  data merge

select data source: Select data source
 select data source  data merge
  data source file  alias or string  -- The data source file
  [data source type  comma separated/tab delimited]  -- The data source type

update data source: Update data source
 update data source  data merge
Das deckt sich von den Begrifflichkeiten genau mit den Funktionen, die man über's GUI benutzt.
Aber zum Beispiel properties abfragen von einer der Klassen gibt kein brauchbares Ergebnis:
erst der code: (mit einigen auskommentierten Versuchen)
tell application "InDesign CS"
 tell active document
  --select data source with data merge {object reference:"voldaten02 AG:003-106-04-05 Stammdaten Fragebogen Arzt:Unsere Version:110.txt"}
  --set data merge properties to {object reference:"voldaten02 AG:003-106-04-05 Stammdaten Fragebogen Arzt:Unsere Version:110.txt"}
  --tell data merge
  -- set x to select data source --voldaten02 AG:003-106-04-05 Stammdaten Fragebogen Arzt:Unsere Version:110.txt"
  --end tell
  --tell data merge
  --select data "110.txt"
  --end tell
  get data merge properties as list
 
 
 end tell
 
end tell
Und dazu das Event-Protokoll:

tell application "InDesign CS"
 get data merge properties of active document
  {data merge properties of document "stammdaten_Arzt_UR.indd"}
end tell
ich hätte hier eigentlich eine Liste erwartet, in der mehr drin steht. Oder?

gruss, demski


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

22. Apr 2005, 16:06
Beitrag # 4 von 13
Beitrag ID: #419576
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo demski,

bevor ich es erneut vergesse: Danke für Dein einleitendes Lob. Doch ohne Thomas Kaltschmidt, der dieses
Forum gegründet hat und ohne die Teilnehmer, welche immer neue Herausforderungen (er)finden ...

Also ... nun habe ich das "PageMaker Pack" installiert. Die mitgelieferte Handbuch-PDF-Datei muss ich
dann später mal studieren. Auf derselben CD ist aber auch ein weiteres PDF: "Supplément sur les scripts.pdf"
(ich habe die CS-Suite in französisch). Darin wird kurz auf das Scripten von 'data merge' eingegangen. Und
man findet folgendes kleine Script-Beispiel, welches Dir hoffentlich weiterhelfen wird (ich hab's nicht ausprobiert).
Es wird vorausgesetzt, dass ein gültiges Dokument für die Zusammenführung von Daten geöffnet ist.
---
set myDataFile to choose file with prompt "Select a data file."
if myDataFile is not equal to "" then
   tell application "InDesign CS"
      tell data merge options
         set remove blank lines to true
      end tell
      set myDocument to active document
      tell data merge properties of myDocument
         select data source data source file myDataFile data source type comma separated
         merge records
      end tell
   end tell
end if

---
Soviel für heute.

Gruss, Hans


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

22. Apr 2005, 16:21
Beitrag # 5 von 13
Beitrag ID: #419577
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jaaaaaaaaaaaa!
Ich glaube fest, dass das hilft.
Ich war schon verzweifelt auf der Suche nach der CD. Die habe ich natürlich Zuhause. So ein Glück!
Vielen vielen Dank an Dich und natürlich Rückwirkend auch an alle, die mit beitragen, hier so ein gutes Niveau und solch eine Freundlichkeit aufrecht zu erhalten.

grüssigste Grüsse aus Hamburg

demski


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

22. Apr 2005, 16:36
Beitrag # 6 von 13
Beitrag ID: #419578
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo demski,

bitteschön! :-)

Die CD hatte ich auch zuhause. Bin sie in der Mittagspause holen gegangen und habe von
dort aus noch eine Runde mit dem Rennrad eingeschoben. 12° C, schönster Sonnenschein.

Ein schönes Wochenende noch.

Gruss, Hans


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

22. Apr 2005, 18:21
Beitrag # 7 von 13
Beitrag ID: #419579
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du bist mein Held des Tages!
Nochmals Danke!


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

23. Apr 2005, 14:38
Beitrag # 8 von 13
Beitrag ID: #419580
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und weiter gehts!
Wie gesagt, diese Anregung hat viel gebracht!
Nun soll natürlich die automatisierung erfolgen ;-)
Dabei stosse ich auf ein Problemchen:
Mein Script bisher:
[code:1]
set myDataFile to choose file with prompt "Select a data file." -- vorerst manuell, später schleife!
set myDataFileName to myDataFile as string
set FileName to items 82 thru 84 of (every character of myDataFileName as list) as string
display dialog FileName
if myDataFile is not equal to "" then
 tell application "InDesign CS"
  tell data merge options
   set remove blank lines to true
  end tell
  set myDocument to active document
  tell data merge properties of myDocument
   select data source data source file myDataFile data source type tab delimited
   merge records
  end tell
  close active document saving in "voldaten02:Strathmann AG:003-106-04-05 Stammdaten Fragebogen Arzt:Druckzubehoer:" & FileName & ":" & FileName & ".indd" without dialog
 
 end tell
end if
[/code:1]
Komischerweise ignoriert ID die Anweisung saving in total. und without dialog erst recht!
Warum? Wo liegt mein Fehler?
Die Datei soll hier gespeichert werden:
close active document saving in "voldaten02 AG:003-106-04-05 Stammdaten Fragebogen Arztoer:" & FileName & ":" & FileName & ".indd" without dialog

Den Pfad habe ich vorher durch vorsichtiges Probieren getestet, der ist richtig, oder?
Irgendwas stimmt wohl nicht an meinem Vorgehen generell beim Versuch des Sicherns?
Später soll das Ganze dann in eine Schleife gepackt werden, aber das kommt dann 8-)


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

23. Apr 2005, 16:05
Beitrag # 9 von 13
Beitrag ID: #419581
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo demski,

ich habe mich nur auf den 'close'-Befehl konzentriert. Bei mir funktioniert er einwandfrei.
Aber nur solange ich nicht Deinen überlangen Ordnernamen verwende. Vierzig Zeichen!
Auch mit 32 kommt der Dialog hoch. Gekürzt auf 31: jetzt klappt es wieder.

Übrigens: Die dritte Zeile kannst Du billiger haben:
Code
[b]set FileName [b]to text 82 [b]thru 84 [b]of myDataFileName 

Gruss, Hans


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

23. Apr 2005, 18:28
Beitrag # 10 von 13
Beitrag ID: #419582
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tja, das es daran liegen könnte... hätte ich ja nicht gedacht!
Dumm nur, weil die Ordner aus der Datenbank heraus nach Job-Informationen erzeugt wird.
Da muss ich wohl noch mal für eine Verkürzung sorgen!
Danke auch für den Spartipp. Ich bin halt noch ein ziemlicher newbie!
(Bin sozusagen im ersten Monat schwanger mit Applescript!)
Aber dank solch guter Informationsquellen wie diesem Forum hier werde ich wohl nicht 9 Monate brauchen, bis es zur Geburt kommt!
Vielen Dank wieder mal für die prompte Hilfe!

demski


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

23. Apr 2005, 21:45
Beitrag # 11 von 13
Beitrag ID: #419583
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo demski,

ich finde es sehr gut, dass InDesign Ordnernamen, welche länger als 31 Zeichen sind,
nicht zulässt. Spätestens beim Kopieren auf ein Servervolume, welches längere Textketten
mit einer Fehlermeldung quittiert, könnte das böse Erwachen kommen. Inkonsequent ist, dass
ein 40-Zeichen-Dateiname problemlos zugewiesen wird.

Ich finde es zudem sehr schlecht, dass InDesign in beiden Fällen nicht reklamiert. Das heisst,
bei einem zu langen Dateinamen wird das Dokument gesichert und bei zu langem Ordnernamen will
es nur ausführen, was möglich ist. Nämlich das Schliessen des Dokuments. Und deshalb wird
der Dialog gezeigt.

Angenommen, das Sichern würde in einem separaten Befehl geschehen, dann würden die Änderungen
eines bestehenden Dokuments zwar gesichert, aber man würde es vergeblich im angegebenen
neuen Ordner suchen. Bei einem neuen Dokument würde immerhin der "Sichern"-Dialog gezeigt.

Also vorsichtshalber den 'close'-Befehl immer mit 'saving in' kombinieren, damit im
Falle eines Ordner-Namen-Problems doch noch ein Dialog erscheint. Aber zum Entlasten der
Struktur ziehe ich es vor, den Pfad vorgängig einer Variablen zuzuweisen:
---
   set docPath to "voldaten02 AG:003-106-04-05_Stammdaten_FBAoer:" & FileName & ":" & FileName & ".indd"
   close active document saving in docPath

---
Zitat Ich bin halt noch ein ziemlicher newbie!
(Bin sozusagen im ersten Monat schwanger mit Applescript!)

Nun, für einen 1-Monat-Newbie bist Du schon ein sehr waches Kerlchen! ;-)

Gruss, Hans


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

demski
Beiträge gesamt:

24. Apr 2005, 12:15
Beitrag # 12 von 13
Beitrag ID: #419584
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hans!
Du wirst lachen, die ganze Geschichte findet auf einem Server statt!
Allerdings spielt da ein Mac den Sklaven! Deshlab durfte der Name auch so lang sein!

Allerdings stimme ich Deiner Klage vollstens zu, dass InDesign da mal meckern sollte, wenn es das doch hinterher nicht benutzen kann.
Da muss ich also meinen restlichen Flow drauf anpassen!

Dann nur noch eine Frage: ist Deine Vorgehensweise einfach nur eleganter programmiert oder hat das technische Vorteile?

(set docPath to "voldaten02 AG:003-106-04-05_Stammdaten_FBAoer:" & FileName & ":" & FileName & ".indd"
  close active document saving in docPath )

Ich möchte das mit dem 1-Monat nochmal etwas relativieren. Ich habe immer schon einbeisschen über Applescript gelesen und mich gewundert, wie toll das sein könnte, sowas zu benutzen. Zudem habe ich einen ehemaligen Büronachbarn, der sehr bewandert ist und mir 2-3 mal was gescriptet hat.
Beim Lesen und nachvollziehen dieser scripts konnte ich dann in Verbindung mit Fragen den Anfang des Verstehens machen.
Seit einem Monat habe ich dann das pdf "Apple Script für Absolute Starter". Das hat den Knoten dann zum Platzen gebracht. Damit konnte ich dann endlich selber anfangen zu scripten!
Insgesamt stimmt das mit dem Monat nicht so ganz, ist doch die Beschäftigung mit dem Thema schon ein bisschen länger gediehen!
Trotzdem freue ich mich über Deinen Kommentar und fühle mich auf dem richtigen Weg!
Danke!

demski


als Antwort auf: [#419573]

InDesign CS Pagemaker Plugin Pack scripten

Hans Haesler
  
Beiträge gesamt: 5818

24. Apr 2005, 17:27
Beitrag # 13 von 13
Beitrag ID: #419585
Bewertung:
(2812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von demski Dann nur noch eine Frage: ist Deine Vorgehensweise einfach nur eleganter programmiert oder hat das technische Vorteile?

Eigentlich weder noch. Eher eine persönliche Vorliebe für kürzere und somit lesbarere Zeilen.
Und weil der 'close/saving'-Befehl schon genug Dinge erledigen muss, habe ich das Gefühl, dass
dank des vorgängig zusammengesetzten Pfades ein möglicher(?) Konflikt vermieden wird.

Gruss, Hans


als Antwort auf: [#419573]
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 hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
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/