[GastForen Programmierung/Entwicklung AppleScript PDFs in Indesign Dokumente platzieren

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

PDFs in Indesign Dokumente platzieren

Proletheus
Beiträge gesamt: 11

1. Feb 2012, 11:23
Beitrag # 1 von 5
Bewertung:
(2197 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen

Ich bin neu hier im Forum und möchte euch gleich um Unterstützung bei einem Problem bitten.

Bisher habe ich meine Aufgabe recht stümperhaft mit AS und XML gelöst, und bitte um Mithilfe bei einer komfortableren Lösung.

Die Aufgabe
Aus einem Ordner mit monatlich variabler Menge an Indesign CS4 Dateien, sollen Diese der Reihe nach geöffnet, 2 PDF Dateien aus 2 unterschiedlichen Ordnern in 2 vorbestimmte Rahmen eingelesen, und wieder gespeichert werden.

Im Ordner Dokumente sind die Indesign Dateien
Im Ordner Adressen sind PDF Dateien für Rahmen Afeld
Im Ordner Texte sind PDF Dateien für Rahmen TFeld
Die Ordnernamen und -Position ändern sich nicht, im Ordner Adressen und Texte sind immer die nötigen PDF Dateien.
Es kommt vor, dass keine Text-PDF vorhanden ist, und dann auch nicht eingelesen werden soll.
Adressen-PDF sind immer vorhanden und sollen auch eingelesen werden.

Die Dateinamen enthalten Namen und Ort:
NAME_ORT-6er.indd aus Ordner Dokumente
NAME_ORT.pdf aus Ordner Adressen
NAME_ORT.pdf aus Ordner Texte

Alle Dateinamen sind identisch bis auf den Indesign-Namen, der KANN noch einen Trennstrich mit mit einem Zusatz, z.B. „-6er“ nach ORT haben.


Ich habe mir das so vorgestellt:

Öffne 1. Datei (Meier_Buxtehude.indd)
Platziere "Meier_Buxtehude.pdf" aus Ordner Adressen in AFeld
Platziere "Meier_Buxtehude.pdf" aus Ordner Texte in TFeld
Speichern

Öffne 2. Datei (Mueller_Nirgendwo-6er.indd)
Platziere "Mueller_Nirgendwo.pdf" aus Ordner Adressen in AFeld
Platziere "Mueller_Nirgendwo.pdf" aus Ordner Texte in TFeld
Speichern

usw.

und so sollten alle Indesign Dateien aus dem Ordner Dokumente abgearbeitet werden.

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt.

Gruß Ralf
X

PDFs in Indesign Dokumente platzieren

Hans Haesler
  
Beiträge gesamt: 5826

1. Feb 2012, 13:19
Beitrag # 2 von 5
Beitrag ID: #488883
Bewertung:
(2152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

herzlich willkommen auf HDS! :-)

Ja, Du hast Dich verständlich ausgedrückt.

Das Problem ist nur, dass einer zum Lösen dieser Aufgabe zuerst die notwendige Umgebung (Ordnerstruktur, Dateien) einrichten muss, bevor er sich ans scripten machen kann.

Das Grund-Script scheint recht einfach zu sein. Aber man muss sich um die Pfade und Namen kümmern. Und überlegen, wie fehlende PDF-Dateien rapportiert werden sollten.

Insgesamt doch ein ziemlicher Aufwand. Sollte eigentlich als Auftrags-Script vergeben werden ...

Heute Nachmittag muss ich andere Dinge erledigen. Vielleicht mache ich in den Abendstunden einen ersten Versuch. Es sei denn, es kommt mir jemand zuvor. ;-)

Gruss, Hans


als Antwort auf: [#488873]

PDFs in Indesign Dokumente platzieren

-hans-
Beiträge gesamt: 748

3. Feb 2012, 10:10
Beitrag # 3 von 5
Beitrag ID: #489037
Bewertung:
(2108 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

kann's gerade nur mit CS3 testen ...

Ich nehme mal an "AFeld und TFeld" sind die label der Objekte.

Probier's mal hiermit:

Code
-- Diese vier Ordnerpfade müssen angepasst werden:  
property idPath : ((path to desktop as text) & "test:ID:") --hier liegen die ID-Dokumente
property aPath : ((path to desktop as text) & "test:Adresse:") --hier liegen die Adress-PDF-Dokumente
property tPath : ((path to desktop as text) & "test:Text:") --hier liegen die Text-PDF-Dokument
property logPath : POSIX path of ((path to desktop as text) & "test:Logs:") --hier wird die Error.log geschrieben

my main()

on main()
set TID to AppleScript's text item delimiters
set idFileNameList to my getIdFileNameList() --associated list {{cleanName, origName} , ...}
my placePDFs(idFileNameList)
set AppleScript's text item delimiters to TID
end main

on getIdFileNameList()
set associatedNameList to {}
set idFileNames to list folder idPath without invisibles
set AppleScript's text item delimiters to "-"
repeat with i from 1 to count of idFileNames
set theName to item i of idFileNames
if text -5 thru -1 of theName is ".indd" then
if (count of text items of theName) is greater than 1 then
set end of associatedNameList to {text item 1 of theName, theName}
else
set end of associatedNameList to {text 1 thru -6 of (text item 1 of theName), theName}

end if
end if
end repeat
return associatedNameList
end getIdFileNameList

on placePDFs(associatedNameList)
repeat with p from 1 to count of associatedNameList
set AppleScript's text item delimiters to ""
set idFile to alias (idPath & (item 2 of (item p of associatedNameList)) as text)
tell application "Adobe InDesign CS3"
open idFile
tell active document
set {tFrame, aFrame} to {item 1 of (every page item whose label is "TFeld"), item 1 of (every page item whose label is "AFeld")}
try
place ((tPath & (item 1 of (item p of associatedNameList)) & ".pdf") as text) on tFrame with properties {PDF crop:crop trim} --Optionen: crop content/‌crop art/‌crop PDF/‌crop trim/‌crop bleed/‌crop media)
on error e
do shell script "echo " & quoted form of (e) & " >> " & quoted form of (logPath & "Error.log")
end try
try
place ((aPath & (item 1 of (item p of associatedNameList)) & ".pdf") as text) on aFrame with properties {PDF crop:crop trim} --Optionen: crop content/‌crop art/‌crop PDF/‌crop trim/‌crop bleed/‌crop media)
on error e
do shell script "echo " & quoted form of (e) & " >> " & quoted form of (logPath & "Error.log")
end try
end tell
close active document saving yes
end tell
end repeat

end placePDFs


Lieben Gruß


Hans-Gerd Claßen


als Antwort auf: [#488873]
(Dieser Beitrag wurde von -hans- am 3. Feb 2012, 10:20 geändert)

PDFs in Indesign Dokumente platzieren

Proletheus
Beiträge gesamt: 11

6. Feb 2012, 09:20
Beitrag # 4 von 5
Beitrag ID: #489174
Bewertung:
(2048 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Zusammen

Danke erstmal für die Antworten.

@Hans Gerd
Ich sollte schweben, um mich tief genug verbeugen zu können.
Ich habe soeben deine Version mit geänderter Pfad- und Versionsangabe getestet, und es läuft prima.

Ich war schon am verzweifeln, hauptsächlich wegen dem Problempunkt "-6er".
Jetzt muss ich mich erstmal intensiv mit deiner eleganten Lösung beschäftigen, um zu verstehen, wie Du das gelöst hast.

Also nochmals herzlichen Dank

Gruß Ralf


als Antwort auf: [#489037]

PDFs in Indesign Dokumente platzieren

-hans-
Beiträge gesamt: 748

6. Feb 2012, 15:13
Beitrag # 5 von 5
Beitrag ID: #489205
Bewertung:
(2007 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die positive Rückmeldung ...

Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#489174]
X