[GastForen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Forenindex Erweiterte Suche Suchergebnisse
Ihre Suche lieferte 82 Ergebnisse
1 2 3 4 5 6
Alle Exporttags in eine bearbeitbare Datei exportieren (StyleExportTagMap)
Hallo InDesign-Profis,

gibt es einen Weg die gesamte Tag-Tabelle unter "Alle Exporttags bearbeiten..." im Absatzformat-Flyoutmenü) in bearbeitbarem Text zu exportieren?

Es wäre schön eine Tabelle zu erhalten die als Grundlage zur Dokumentation unseres Formatierungs-Standards dienen soll. Es müssen zwei css und Word unter einen Hut gebracht werden.

Danke schön schon einmal für die Hilfe.

Vielmals Dankeschön und herzliche Grüße
Gabriele (2678/3)
Alle Exporttags in eine bearbeitbare Datei exportieren (StyleExportTagMap)
Hallo August,

versuch's mal damit:

Code
// export_StyleExportTagMap_simple.jsx 

var doc = app.activeDocument,
ps = doc.allParagraphStyles,
ps_n = '',
i = 0,
n = 0,
f = null,
g = null,
type = false, // Typ exportieren
arr = [];

for (i = 0; i < ps.length; i++)
{
g = ps[i];
ps_n = ps[i].name;

while (g.parent.constructor == ParagraphStyleGroup)
{
g = g.parent;
ps_n = g.name + ':' + ps_n;
}

for (n = 0; n < ps[i].styleExportTagMaps.length; n++)
{
if (type)
arr.push(ps_n + '\t' + ps[i].styleExportTagMaps[n].exportTag + '\t' + ps[i].styleExportTagMaps[n].exportType); // Tags + Typ
else
arr.push(ps_n + '\t' + ps[i].styleExportTagMaps[n].exportTag); // nur Tags
}
}

f = new File( '~/Desktop/StyleExportTagMap_' + doc.name.replace(/\.indd/gi,'') + '.txt' );
f.encoding = 'UTF-8';
f.open('w');
f.write(arr.join('\n'));
f.close();
f.execute();


Viele Grüße
Martin


(2590/2)
Alle Exporttags in eine bearbeitbare Datei exportieren (StyleExportTagMap)
Hallo Martin,

SUPER – vielen Dank.

Kommt natürlich gleich noch die nächste Frage ;)
Wie komme ich an die Zeichenformate?

Und der nächste Wunsch natürlich auch gleich dazu: ;)
Diese beiden Listen (Absatz- und Zeichenformate) auch für das pdf-tagging generieren zu können :))

Vielmals Dankeschön und herzliche Grüße
Gabriele (2565/1)
Alle Exporttags in eine bearbeitbare Datei exportieren (StyleExportTagMap)
Hallo Gabriele,

das einfache Beispiel, aus dem ersichtlich ist, wie die Informationen gewonnen und ausgegeben werden können, sollte Dir eine Ausgangsbasis für mögliche Erweiterungen bieten.

Viele Grüße
Martin


(2558/0)
Bedingter Text wird nicht ausgeblendet
Hallo liebes HDS-Team,

ich habe nach einem ähnlichen Foreneintrag gesucht und keinen gefunden ...

Mein Problem ist, dass ich zwei Dokumente habe, bei denen sich bedingter Text nicht mehr ausblenden lässt. Bei den weiteren vier Dokumenten funktioniert es problemlos.

Zunächst dachte ich, es liegt vielleicht an der Seitenzahl. Aber eines der beiden Dokumente ist nur zweiseitig ... Hier kann ja wohl kaum "die Menge" das Problem sein.

Was denkt ihr, könnten die weiteren Probleme sein?

IDML habe ich natürlich testweise mal geschrieben. Hat nichts gebracht. Auch das öffnen der Datei in einer höheren ID-Version brachte nichts ...

InDesign CS5, Windows 10.

Bin um jeden Tipp und Hilfe dankbar!!!
Verena(361/1)
Bedingter Text wird nicht ausgeblendet
Hallo Verena,

kannst Du ein Beispiel (IDML) zur Verfügung stellen?

Viele Grüße
Martin


(352/0)
Datum und Zeit an Dateinamen anhängen
Hallo, liebe Mit-Scripter

Habe mir dank verschiedener Quellen das folgende Script (Droplet) gebastelt. Es dient dazu, Dateinamen mit Erstellungsdatum und Zeit zu ergänzen.
Z.B.
FPRO4223 Kopie.JPG zu FPRO4223 Kopie___10.6.2019___10'50'24.JPG
FPRO4223 Kopie.RAF zu FPRO4223 Kopie___10.6.2019___10'50'24.JPG

Das Script:

Code
on open 
tell application "Finder"
set input to selection

repeat with x in input
set creationDate to creation date of x
set modDate to modification date of x

set fileInfo to (info for of file (item 1 of input as string)) --- scheint hier hängen zu bleiben
set {fileName, nExt} to {name of fileInfo, name extension of fileInfo}
if nExt is not missing value then
set origName to (text 1 thru -((count of nExt) + 2)) of fileName
end if

set cD to creation date of x
set the_year to year of (cD) as number
set the_month to month of (cD) as number
set the_day to day of (cD) as number
set ts to time string of cD
set c to offset of ":" in ts
set h to text -2 thru -1 of ("0" & (text 1 thru (c - 1) of ts))
set m to text (c + 1) thru (c + 2) of ts
set s to text (c + 4) thru (c + 5) of ts
set Zeit to (h & "'" & m & "'" & s)
set neuName to origName & "___" & ((the_day & "." & the_month & "." & the_year & "___" & Zeit) as string)
set name of x to neuName & "." & nExt
end repeat
end tell
end open



Es funktioniert wie gewünscht, wenn ich 1 Datei darauf ziehe. Schon bei der zweiten kommt die Fehlermeldung:

«class docf» "FPRO4223 Kopie.JPG" of «class cfol» "Desktop" of «class cfol» "mini" of «class cfol» "Users" of «class sdsk» of application "Finder" kann nicht in Typ string umgewandelt werden.

Code
error "«class docf» \"FPRO4223 Kopie.JPG\" of «class cfol» \"Desktop\" of «class cfol» \"mini\" of «class cfol» \"Users\"  
of «class sdsk» of application \"Finder\" kann nicht in Typ string umgewandelt werden." number -1700 from «class docf»
"FPRO4223 Kopie.JPG" of «class cfol» "Desktop" of «class cfol» "mini" of «class cfol» "Users" of «class sdsk» to string

Vielleicht kann mir jemand erklären, wo der Haken ist, worüber ich sehr froh wäre.

Dankbare Grüsse
Peter
(1516/16)
Datum und Zeit an Dateinamen anhängen
Hallo Peter,

herzlich willkommen im AppleScript-Forum auf HDS! :-)

Der Code sollte anders aufgebaut sein. Ohne den "Finder" einzuspanne.

Bei meinem ersten Versuch bekam ich eine Fehlermeldung, weil 'origName' nicht definiert ist.
Nach einer Änderung im Script funktionierte es mit einer Datei. Aber der Ordner, in welchem sich die Testdatei befindet, wurde umbenannt.

Wenn zwei Dateien aufs Droplet gezogen werden, wird die erste umbenannt. Doch dann kommt die Fehlermeldung.

Ich muss gleich weg. Werde aber im Laufe des Tages versuchen, ein funktionerendes Doplet zu erstellen.

Gruss, Hans
(1503/0)
Datum und Zeit an Dateinamen anhängen
Hallo Peter,

nachstehend die erste Version des Droplets. Die gebrauchsfertige Datei ist unten angehängt.

Code
(* 
Datum_01d.app
© 12.06.2019 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
*)

# der 'Run Handler' warnt, wenn die Ausführung mit einem Doppelklick gestartet wurde
on run
activate me
display dialog "Dateien (oder Ordner) auf das Script-Icon ziehen." buttons "OK" default button 1 with icon 0
end run

# der 'Open Handler' reagiert, wenn Objekte auf das Icon des Scripts gedroppt werden
on open allObjects
# Wiederholschleife, welche die gedroppten Objekte zum Handler 'processObject' schickt
repeat with aObject in allObjects
processObject(aObject)
end repeat
# den Anwender informieren
activate me
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
end open

# im folgenden Handler wird festgestellt, ob das Objekt ein Ordner oder eine Datei ist;
# der Inhalt des Hauptordners wird aufgelistet; Dateien werden zum Handler 'processFile' gesandt.
on processObject(aObject)
# wenn der Pfad mit einem Doppelpunkt endet, ist das Objekt ein Ordner oder eine App ...
set curObject to aObject as string
if curObject ends with ":" then
# wenn das Objekt keine App-Datei ist ...
if not (curObject ends with ".app:") then
set contentsList to list folder curObject without invisibles
# die Wiederholschleife schickt die Dateien zum eigenen Handler
repeat with curItem in contentsList
set objPath to curObject & curItem
processObject(objPath as alias)
end repeat
end if
else
# die Datei zum Handler 'workFile()' schicken
workFile(curObject)
end if
end processObject

# der Handler, das Datum einsetzt
on workFile(curObject)
set fileInfo to info for of file curObject
set fileName to name of fileInfo
set nExt to name extension of fileInfo
set origName to (text 1 thru -((count of nExt) + 2)) of fileName
set cD to creation date of fileInfo
set the_year to year of (cD) as number
set the_month to month of (cD) as number
set the_day to day of (cD) as number
set ts to time string of cD
set c to offset of ":" in ts
set h to text -2 thru -1 of ("0" & (text 1 thru (c - 1) of ts))
set m to text (c + 1) thru (c + 2) of ts
set s to text (c + 4) thru (c + 5) of ts
set Zeit to (h & "'" & m & "'" & s)
set neuName to origName & "___" & ((the_day & "." & the_month & "." & the_year & "___" & Zeit) as string)
tell application "Finder" to set name of file curObject to neuName & "." & nExt
end workFile

Es kann eine einzelne Datei oder mehrere Dateien gleichzeitig oder ein Ordner, welche die Dateien enthält auf das Icon des Droplets gezogen werden.

Der "Finder" wird nur am Schluss benutzt, zum Umbenennen der Datei.

Gruss, Hans(1477/14)
Datum und Zeit an Dateinamen anhängen
Hallo Hans

Herzlichen Dank für die Lösung des Problems und das Dokumentieren.
Sie ist aufwendiger geworden als ich mir vorgestellt habe. Sehr praktisch jetzt ist die Möglichkeit, den Ordner drauf zu ziehen. Das Script funktioniert einwandfrei.

Zusätzlicher Gewinn für mich: es gibt einiges zu lernen und auszuprobieren.

Gruss Peter
(1459/13)
Datum und Zeit an Dateinamen anhängen
Hallo Peter,

bitte sehr.

aus Zeitgründen hatte ich die folgenden Erklärungen nicht sofort liefern können.

Die Zeile ...

Code
on open allObjects 

... ist charakteristisch für ein Droplet. Die Variable kann anders benannt sein. Aber sie wird immer die Liste der Pfade zu den gedroppten Objekten enthalten. Das sind alles Aliasse.

In der Schleife ...

Code
repeat with aObject in allObjects 

... wird der Variablen 'aObject' das aktuellen Element der Liste zugewiesen.

Dieses wird mit ....

Code
processObject(aObject) 

... dem Handler 'processObject()' übergeben, welcher die Objekte prüft.

Mit ...

Code
set curObject to aObject as string 

... wird der Variablen 'curObject' der Pfad als Textkette zugewiesen.

Und jetzt kann das Script den Pfad prüfen. Wenn dieser mit ":" endet, ist es ein Ordner (oder eine App). Sonst eine Datei.

Falls Ordner: Dessen Inhalt wird aufgelistet und zurück an den Handler 'processObject()' gesandt, in welchem die Prüfung stattfindet. Das nennt man "rekursiv".

Falls Datei: Dieser Pfad wird zum Handler 'workFile()' geschickt. In diesem werden die Infos ausgezogen und die Textkette wird zusammengesetzt.

Schliesslich wird durch den "Finder"-Einzeiler-Befehl die Datei umbenannt.

Aus Performance-Gründen ist es ratsam, den "Finder" nur für Befehle aufzubieten, welche er beherrscht. Sonst resultiert ein interner Fehler und der Befehl muss erneut durch die richtige App ausgeführt werden. Das geschieht so häufig, dass Apple diese "Umleitung" offiziell ermöglicht hat.

Es ist auch besser, die "Finder"-Befehle als Einzeiler zu schreiben. Und nicht den ganzen Ablauf in einen "Finder"-Block zu packen.

Falls noch Fragen: nur fragen! :-)

Gruss, Hans(1433/12)
Datum und Zeit an Dateinamen anhängen
Hallo Hans,

vielen Dank für die ergänzenden und erhellenden Erklärungen, sie helfen mir wirklich weiter. Es gibt zwar eine ansehnliche Menge Literatur über AppleScript in englischer Sprache, aber wenn's einem deutsch und deutlich gesagt wird, wird es doch klarer. :-)

Mir ist auch aufgefallen, wie schnell das Script arbeitet.

Gruss, Peter
(1367/11)
Datum und Zeit an Dateinamen anhängen
Hallo Peter,

bitte sehr.

Eine Frage: Kommt es vor, dass das eingefügte Datum wieder entfernt werden muss?

Wie dem auch sei: Folgende Variante des Droplets ermöglicht, den Originalnamen wiederherzustellen.
Das Droplet "Datum_weg" ist unten angehängt.

Code
(* 
Datum_weg_01d.app
© 13.06.2019 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
*)

# die Zählervariable als 'global' bezeichnen, damit sie in beiden Handlern greifbar ist
global ctr

# der 'Run Handler' warnt, wenn die Ausführung mit einem Doppelklick gestartet wurde
on run
activate me
display dialog "Dateien (oder Ordner) auf das Script-Icon ziehen." buttons "OK" default button 1 with icon 0
end run

# der 'Open Handler' reagiert, wenn Objekte auf das Icon des Scripts gedroppt werden
on open allObjects
# die Zählervariable initialisieren
set ctr to 0
# den Trenner vorbereiten
set AppleScript's text item delimiters to "___"
# Wiederholschleife, welche die gedroppten Objekte zum Handler 'processObject' schickt
repeat with aObject in allObjects
processObject(aObject)
end repeat
# den Trenner zurücksetzen
set AppleScript's text item delimiters to {""}
# den Anwender informieren
activate me
if ctr is 0 then
display dialog "Keine Datei umbenannt." buttons "OK" default button 1 with icon 2 giving up after 2
else if ctr is 1 then
display dialog "Eine Datei umbenannt." buttons "OK" default button 1 with icon 1 giving up after 2
else
display dialog "" & ctr & " Dateien umbenannt." buttons "OK" default button 1 with icon 1 giving up after 2
end if
end open

# im folgenden Handler wird festgestellt, ob das Objekt ein Ordner oder eine Datei ist;
# der Inhalt des Hauptordners wird aufgelistet; Dateien werden zum Handler 'processFile' gesandt.
on processObject(aObject)
# wenn der Pfad mit einem Doppelpunkt endet, ist das Objekt ein Ordner oder eine App ...
set curObject to aObject as string
if curObject ends with ":" then
# wenn das Objekt keine App-Datei ist ...
if not (curObject ends with ".app:") then
set contentsList to list folder curObject without invisibles
# die Wiederholschleife schickt die Dateien zum eigenen Handler
repeat with curItem in contentsList
set objPath to curObject & curItem
processObject(objPath as alias)
end repeat
end if
else
# die Datei zum Handler 'workFile()' schicken
workFile(curObject)
end if
end processObject

# der Handler, das Datum einsetzt
on workFile(curObject)
set fileInfo to info for of file curObject
set fileName to name of fileInfo
if fileName contains "___" then
set nExt to name extension of fileInfo
set origName to text item 1 of fileName
set oldName to origName & "." & nExt
tell application "Finder" to set name of file curObject to oldName
set ctr to ctr + 1
end if
end workFile

Kurz erklärt: Zu Beginn wird den AppleScript's text item delimiters die Zeichenfolge "___" zugewiesen.
Das Script muss bei jedem Dateinamen prüfen, ob dieser "___" enthält. Falls ja, wird der Variablen 'origName' das erste Text-Element des Dateinamens zugewiesen. Das heisst alle Zeichen vom Beginn des alten Dateinamens bis vor den ersten "___"-Trenner.
Dann wird der neue (alte) Name zusammengesetzt und die Datei wird umbenannt.
Am Schluss werden die AppleScript's text item delimiters zurückgesetzt auf eine leere Textkette.

Ohne die Prüfung auf "___" würde bei einem Dateinamen ohne Datum das erste Text-Element den ganzen Namen inklusive Endung umfassen. Und daran würde die Endung gehängt: "test_01.txt.txt"

Gruss, Hans(1324/10)
Datum und Zeit an Dateinamen anhängen
Hallo Peter,

beim Testen des "Datum_weg"-Droplets wurde mir bewusst, dass auch im "Datum"-Droplet geprüft werden sollte, ob im aktuellen Dateinamen noch kein Datum eingefügt ist.

Dazu muss mit if not auf das Gegenteil getestet werden:

Code
if not (fileName contains "___") then 

Der ganze Handler:

Code
# der Handler, das Datum einsetzt 
on workFile(curObject)
set fileInfo to info for of file curObject
set fileName to name of fileInfo
# prüfen, ob nicht schon ein Datum eingefügt ist
if not (fileName contains "___") then
set nExt to name extension of fileInfo
set origName to (text 1 thru -((count of nExt) + 2)) of fileName
set cD to creation date of fileInfo
set the_year to year of (cD) as number
set the_month to month of (cD) as number
set the_day to day of (cD) as number
set ts to time string of cD
set c to offset of ":" in ts
set h to text -2 thru -1 of ("0" & (text 1 thru (c - 1) of ts))
set m to text (c + 1) thru (c + 2) of ts
set s to text (c + 4) thru (c + 5) of ts
set Zeit to (h & "'" & m & "'" & s)
set neuName to origName & "___" & ((the_day & "." & the_month & "." & the_year & "___" & Zeit) as string)
tell application "Finder" to set name of file curObject to neuName & "." & nExt
end if
end workFile

Die Version 02d des Droplets ist angehängt.

Gruss, Hans(1322/9)
Datum und Zeit an Dateinamen anhängen
Hallo Hans

Deine weiterführenden Überlegungen und Ergänzungen sind interessant. Zwar war es bis jetzt nicht notwendig, das Datum wieder los zu werden, aber die Möglichkeit zu haben, erweitert den Nutzen des Scripts. Und zu sehen, wie das erreicht wird, erweitert meinen Scripter-Horizont. :-)

In dem Zusammenhang spuckt ein Script in meinem Kopf herum, das Folgendes ermöglicht:
Beim Abbarten der gedropten Dateien wird in einem Dialog standardmässig der Originalname (neu + Datum) angeboten mit der Möglichkeit den Namen Datei für Datei individuell händisch zu ändern.

Wenn du dazu eine Idee hättest, wäre das großartig.
Danke, daß ich deine Kenntnisse nutzen darf.

Ein schönes Wochenende und
Gruss, Peter
(1237/8)
1 2 3 4 5 6
Hier Klicken

Aktuell

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
18.06.2019 - 19.06.2019

Effiziente Medienproduktion mit InDesign und Photoshop

Leipzig
Dienstag, 18. Juni 2019, 09.30 Uhr - Mittwoch, 19. Juni 2019, 17.30 Uhr

Schulung, Seminar

Wie arbeiten Sie mit Colormanagement in InDesign? Wie gelangen Sie rascher zu einer flexiblen Dateivorlage? Welche Prozesse im Umgang mit Texten, Bildern oder Tabellen lassen sich eleganter gestalten, welche automatisieren? Wir zeigen Ihnen, wie Sie mit Profiwerkzeugen für Typo und Layout deutlich schneller und effizienter arbeiten können – auch im Team und mit Kunden!

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/zweitaegige-weiterbildung-zum-next-generation-publisher/

Zweitägige Weiterbildung zum Next Generation Publisher
Veranstaltungen
19.06.2019

Leipzig
Mittwoch, 19. Juni 2019, 09.30 Uhr

Schulung, Seminar

Die Schulung richtet sich an erfahrene Designer/-innen und PrePress-Profis, die mit InDesign CS6 oder CC arbeiten. Wir zeigen Ihnen, wie Sie mit Profiwerkzeugen für Typo und Layout deutlich schneller und effizienter arbeiten können – auch im Team und mit Kunden! Wertvolle Tipps aus der Praxis runden die Schulung ab, damit Sie auf anspruchsvolle Aufgaben eine Antwort mit InDesign kennen.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/schulungen/indesign-schulung-next-generation/

InDesign Schulung für Fortgeschrittene