Hallo, seit einigen Jahren nutzen wir ein Script, welches nach Auswahl eines Ordners die darin befindlichen Indesign-Docs mit einem ebenfalls ausgewählten Profil als PDF schreibt. Seit wir von Indesign 2015 auf 2019 umgestellt haben, funktioniert das leider nicht mehr - die Dateien haben einfach nur verpixelte Bilder. Nach langen Versuchen hat sich herausgestellt, dass nicht die Profile das Problem sind, sondern Indesign einfach die verknüpften Bilddateien nicht lädt und so den Export als PDF mit den eingebetteten Vorschaubildern macht. Unterbricht man den Ablauf der Schleife mit einem alert("test") zeigt sich auch, dass hinter jeder Verknüpfung ein Uhr-Symbol steht, was wohl soviel heisst, wie warte aufs laden - eine Beschreibung dazu habe ich nicht finden können. Kurios ist, sobald ich das Script abbreche, verschwinden die Uhr-Symbole und ich kann die Datei mit dem gleichen Script ausdrucken, so lange ich sie geöffnet lasse. Noch kurioser wird es, wenn man eine Schleife über alle Verknüpfungen laufen lässt und während dieser Schleife ein alert("test") ausgibt - dann kann man direkt sehen, wie alle Verknüpfungen ihr Uhr-Symbol verlieren und am Ende das Doc korrekt als PDF geschrieben wird. Langer Rede... die Frage ist nun, ob Adobe es generell untersagt, in einer Schleife aus mehreren Indesign-Docs PDFs zu schreiben und es auf diese Weise verhindern möchte, oder ob noch ein Fehler im Detail steckt. Ich habe mal einen verkürzten Code angehängt, vielleicht findet hier schon jemand einen Hinweis.
sind denn die Verknüpfungen in den anvisierten Dateien ok? Oder braucht InDesign einfach Zeit, den Abgleich zu machen, wenn Du eine solche CC 2019-Datei händisch öffnest?
Möglicherweise öffnest Du CC 2015-Dateien in CC-2019? Dann solltest Du gleich nach dem Öffnen die Datei speichern. Und erst dann weitermachen.
Hm. Die Zeile ist auskommentiert, in der Du die InDesign-Datei nach dem PDF-Export schließt. Das ist nicht gut. Je nach Umfang Deiner Dateiliste und Umfang Deiner InDesign-Datei wird InDesign dann langsamer und langsamer.
Noch ein Tipp:
Was noch dazu helfen könnte: Setze das zweite Argument von app.open() auf false, sodass die InDesign-Dateien fensterlos geöffnet werden.
Hallo Uwe, danke für die schnelle Antwort, aber alles das hatte ich schon probiert: 1. im "Normalfall" wird die Datei geschlossen - ist jetzt nur zu Testzwecken offen geblieben 2. die Dateien sind alle bereits 2019er, da gibt es kein Problem 3. alle Verknüpfungen sind im Zugriff - originär liegen diese auf einem Netzlaufwerk, aber zum Test habe ich mir ein einfaches Doc mal mit lokalen Bildern angelegt mit dem gleichen Resultat. 4. app.open(datei,false) ist auch der "Normalfall", wenn man sie sichtbar hat, kann man die Palette mit den Verknüpfungen halt sehen. 5. auch die preferences ändern am Verhalten leider nichts. Viele Grüße, Mike
Hallo Mike, dann probiere mal die PDFs automatisiert mit Peter Kahrels Skript Batch Convert/Export zu exportieren. Falls das auch nicht funktioniert, könnte der Wurm im Betriebssystem sein.
Ich kann jedenfalls das Phänomen hier mit meinem InDesign CC 2019 auf Windows 10 nicht beobachten.
Das Problem ist auf Windows 10 und Windows 7 - hat wohl damit nix zu tun. Ich habe jetzt begonnen, mal mit dem von Dir erwähnten Tool zu experimentieren. Ohne weitere Einstellungen kommt das gleiche bei raus. Sobald ich aber das Häkchen bei Update modified Links setze, funktioniert es. Daher habe ich mein eigenes Script mal um eine Link-Anpassungsfunktion erweitert, obwohl das laut Status der Links eigentlich nicht nötig ist (der Status ist für alle Links "Normal" - was auch immer das heisst). Nun dachte ich, einfach über alle Links gehen und update()-Funktion aufrufen. Schnell das Script erweitert - ohne Erfolg. Durch Zufall hatte ich mir dann den Status der Links noch in dieser Schleife ausgeben lassen, und jetzt funktionierte es. Warum auch immer - die Frage ist, ob man sich nun auf das Resultat verlasssen kann? p.s. übrigens auch schade, dass das andere Script nur als bin-Version vorliegt...
(Dieser Beitrag wurde von mikeW am 17. Jan 2020, 15:22 geändert)
Doch, doch, das kann schon sinnvoll sein, den link.status einzufangen. Zumindest wird dann das Objekt Link gezwungen den gerade aktuellen Status auszuwerfen.
Denn: Zunächst arbeitest Du mit der links-collection ohne dass Du die einzelnen Elemente der Collection tiefer befragst. Wie soll ich's noch ausdrücken? Vielleicht so: Eine Collection hat eine eher "lose" Verbindung zu ihren Elementen.
Ich würde meinen, dass die Schleife ohne ln=link.status das gewünschte Ergebnis bringen müsste, wenn Du die Collection in einen glasklaren Array wandelst.
Um den Unterschied mal herauszuarbeiten:
Was macht everyItem().getElements() ?
Lies, besser arbeite Dich mal durch zwei Artikel von Marc Autret mit besonderem Augenmerk auf das Stichwort Object Specifiers:
Hallo Uwe, danke für den Hinweis, aber ich sehe für die Funktion keinen Unterschied, egal ob ich über everyitem gehe oder direkt die Links nutze. Sobald ich die Funktion für den Status weglasse, funktioniert es nicht. Ganz vereinfacht habe ich hier die Schleife mal weggelassen:
aber egal, ob ich noch eine Schleife über alle Linklist-Elemente mache, oder die obige Funktion einfach nur aufrufen, das Resultat bleibt - ohne den status funktioniert es nicht.
Hallo Mike, Du hast doch nicht etwas das getElements() nach everyItem() bei Deinen Versuchen weggelassen? Das ist ganz wesentlich. Das erst baut den Array zusammen. ***** Mit herzlichem Gruß, Uwe Laubender
Hallo Uwe, nein, da habe ich nichts vergessen, nur stark vereinfacht ;) Wie auch immer, es funktioniert dort auch immer nur, wenn ich den status mit triggere, ohne wird immer die eingebettete Bilddatei genutzt, hier mal der eigentliche Code:
Sobald ich die status-Zeile weglasse, hat der update-Befehl keine Wirkung. Wobei ja immer noch die Frage wäre, warum es überhaupt einen Update-Befehl braucht, da ja eigentlich alle Daten korrekt verbunden sind und alles ja bis zum Umstieg Indesign2015-2019 funktionierte.
Was ich ganz vergass: es funktionert meist auch, wenn ich den update-Befehl weglasse, aber den status abfrage - also quasi gar nichts am Objekt selbst mache.
(Dieser Beitrag wurde von mikeW am 27. Jan 2020, 11:41 geändert)