[GastForen Programmierung/Entwicklung AppleScript Quick & Dirty .inx-Versionskonvertierung

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

Quick & Dirty .inx-Versionskonvertierung

pixelstaub
Beiträge gesamt: 128

7. Apr 2010, 11:33
Beitrag # 1 von 6
Bewertung:
(2459 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Liste,

ich würde gerne eine Art quick&dirty-Versionskonvertierung für Adobe InDesign Intercharge-Dokumente realisieren. Also ein Script, dass aus inx für CS3 eine inx für CS2 macht. (nur für Notfälle – ich weiß, dass das nicht unproblematisch ist).
Unten mal ein Ansatz (der so noch nicht funktioniert) und ein paar Fragen:
- Bedarf es einer Hilfsapplikation (wie hier Text Edit Plus) überhaupt, oder kann ich per AppleScript den Inhalt der Datei auch im Finder manipulieren?
- Wie kann ich Applescript dazu bringen, die Suchparameter korrekt zu übergeben – momentan werden die items der Liste nicht erkannt ("item 1 of ... kann nicht gelesen werden..."

das Script gibt es hier http://www.pixelstaub.de/inxconvert.scpt

(Dieser Beitrag wurde von pixelstaub am 7. Apr 2010, 11:38 geändert)
X

Quick & Dirty .inx-Versionskonvertierung

Hans Haesler
  
Beiträge gesamt: 5826

7. Apr 2010, 14:25
Beitrag # 2 von 6
Beitrag ID: #438558
Bewertung:
(2428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

mir ist nicht ganz klar, weshalb Du die Versionen, welche in der Datei enthalten sind, ändern willst.

Wenn ich von einem CS3-Dokument einen Export ins Interchange-Format mache, dann entsprechen die Versionsnummern schon jenen von CS2 und die Datei kann ohne jede Änderung mit CS2 geöffnet werden.

Vielleicht funktioniert Dein Script aus diesem Grunde nicht: Die gesuchte Textkette ist nicht in der Datei enthalten.

Im Script sind die beiden Element der Liste ebenfalls Listen. Das kann nicht klappen. Dann schon eher mit dem auskommentierten Zeilen in welchen den beiden Variablen je ein Textkette zugewiesen wird.

Zu Deiner anderen Frage: Das Suchen/Ersetzen kann ohne "TextEdit Plus" gemacht werden. Aber nicht im "Finder". Die Datei muss in eine Variable gelesen werden. Und dann kann im Speicher und mithilfe von "Satimage.osax" das Ersetzen vorgenommen werden. Abschliessend lässt man das Ergebnis in eine Datei auf der Harddisk schreiben.

Gruss, Hans


als Antwort auf: [#438548]

Quick & Dirty .inx-Versionskonvertierung

pixelstaub
Beiträge gesamt: 128

7. Apr 2010, 15:00
Beitrag # 3 von 6
Beitrag ID: #438565
Bewertung:
(2410 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ich habe mich, zugegeben, etwas mißverständlich ausgedrückt:
Ich will von CS4 nach CS2 konvertieren, also eine inx für CS3 (die ich aus CS4 exportiert habe) in eine von CS2 editierbare inx.
Danke für Deine Tipps!

Grüße
Stephan


als Antwort auf: [#438558]

Quick & Dirty .inx-Versionskonvertierung

pixelstaub
Beiträge gesamt: 128

7. Apr 2010, 15:29
Beitrag # 4 von 6
Beitrag ID: #438572
Bewertung:
(2402 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo nochmal,
ich hänge an folgender Stelle fest:
Code
tell application "Tex-Edit Plus" 
activate
set inxcstwo to "<?aid style=\"33\" type=\"document\" DOMVersion=\"5.0\" readerVersion=\"4.0\" featureSet=\"257\" product=\"5.0(463)\" ?>" as string
set inxcsthree to "<?


als Antwort auf: [#438565]

Quick & Dirty .inx-Versionskonvertierung

Hans Haesler
  
Beiträge gesamt: 5826

7. Apr 2010, 23:05
Beitrag # 5 von 6
Beitrag ID: #438599
Bewertung:
(2368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ich verfüge nicht über "Tex-Edit Plus" und kann Dir deshalb keine diesbezügliche Lösung anbieten.

Aber ich habe soeben ein CS4-Dokument ins ".inx"-Format exportiert und die Datei mit diesem Script misshandelt:

Code
-- die ".inx"-Datei auswählen 
set inxFile to (choose file of type "IDx3") as Unicode text

-- die Datei in die Variable "aString" einlesen
set aString to read file inxFile

-- mittels "Satimage.osax" das Suchen/Ersetzen vornehmen
set newString to change "DOMVersion=\"6.0\" readerVersion=\"5.0\" featureSet=\"257\" product=\"6.0(578)" into "DOMVersion=\"5.0\" readerVersion=\"4.0\" featureSet=\"257\" product=\"5.0(463)" in aString

-- das Ergebnis in die alte Datei schreiben
try
open for access file inxFile with write permission
set eof of file inxFile to 0
write newString to file inxFile
close access file inxFile
on error
try
close access file inxFile
end try
end try

Die geänderte Datei liess sich problemlos mit CS2 öffnen.

Den hier rot hervorgehobenen Suchstring musst Du aber an den Export anpassen, welcher Dein InDesign CS4 liefert.

Gruss, Hans


als Antwort auf: [#438572]

Quick & Dirty .inx-Versionskonvertierung

pixelstaub
Beiträge gesamt: 128

9. Apr 2010, 10:25
Beitrag # 6 von 6
Beitrag ID: #438793
Bewertung:
(2327 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

na ja, "misshandelt" klingt etwas arg destruktiv, finde ich :)
Vielen lieben Dank für Deine (wie immer) ausgesprochen rasche und großartige Hilfe!

Grüße aus Köln
Stephan


als Antwort auf: [#438599]
X