hilfdirselbst.ch
Facebook Twitter gamper-media
Forenindex -- Lesezeichen

3 Lesezeichen für kopieren

Ebenen aus einem vorhandenen Dokument in ein neues Dokument importieren
Hallo,

hier folgt ein einfaches Copy & Paste-Skript, das Seite für Seite die Objekte vom vorderen Dokument ins hintere kopiert.

Zunächst werden die Seiten abgeglichen und ggf. fehlende Seiten im Zieldokument ergänzt.
Dann werden die Ebenen abgeglichen und ggf. fehlende Ebenen im Zieldokument ergänzt.
Anschließend wird Seite für Seite kopiert und eingefügt.

Das Skript prüft nicht, ob die Zielebene im Zieldokument ggf. gesperrt ist.
Es berücksichtigt ferner keine verknüpften Textrahmen, sondern behandelt jeden Textrahmen einzeln (in der Zielebene sind ursprünglich verknüpfte Textrahmen nicht mehr verknüpft).

Code
// CopyFromOneDoc2Another.jsx 

QuellDoc = app.documents[0];
ZielDoc = app.documents[1];

// Seitenumfang abgleichen
if (ZielDoc.pages.length < QuellDoc.pages.length)
{
myP2add = QuellDoc.pages.length - ZielDoc.pages.length;
for (onePage = 0; onePage < myP2add; onePage++)
{
ZielDoc.pages.add();
}
}

// Ebenen abgleichen
myLayers = QuellDoc.layers
for (oneLayer = myLayers.length-1; oneLayer >= 0; oneLayer--)
{
try
{
ZielDoc.layers.add({name:myLayers[oneLayer].name})
}
catch(e){}
}

// Seitwärts vorgehen
for (onePage = 0; onePage < QuellDoc.pages.length; onePage++)
{
app.select(NothingEnum.nothing); // ggf. vorhandene Auswahl löschen
for (oneItem = 0; oneItem < QuellDoc.pages[onePage].pageItems.length; oneItem++ )
{
myCollection = QuellDoc.pages[onePage].pageItems[oneItem].select(SelectionOptions.addTo)
}
if (app.selection.length > 0)
{
app.copy();
app.layoutWindows[1].bringToFront();
app.layoutWindows[0].activePage = app.documents[0].pages[onePage];
app.pasteInPlace();
app.layoutWindows[1].bringToFront();
}
}

...
Martin Fischer
31. Jan 2006, 10:31
Absatzformate kopieren
Probieren Sie mal Folgendes:
- exportieren Sie die Datei ins Austauschformat / Interchangeformat
- öffnen Sie die inx Datei in einem Texteditor.
- in der inx Datei gibt es einen Absatz, der mit <psty pnam="k_[No paragraph style]" anfängt. Suchen Sie diesen
- in diesem Abschnitt ist ein Eintrag, der mit font="c_ anfängt. Bei meiner Test-datei 3 Zeilen unter <psty pnam

Welcher Font steht hier in Ihrer inx-Datei?
Wenn etwas anderes als font="c_Times" dann ersetzen Sie den Eintrag gegen die Times. Speichern Sie die inx und öffnen Sie diese wieder in InDesign.
Geht's wieder?
...
Gerald Singelmann
23. Jan 2007, 20:33
Absatzformate kopieren
Hier also die Theorie hinter der schlichten Lösung.

InDesign CS2 hat ein anderes Verhalten als bisherige Versionen und alle anderen Layout-Programme, wenn es darum geht, wie Absatzformate auf anderen Absatzformaten basieren.
Notorisch (hier glaube ich auch schon ein zwei Mal diskutiert) ist das "Basiert auf [Einfacher Absatz]": wenn im Zieldokument der [Einfache Absatz| anders definiert ist als im Quelldokument ändert sich die Formatierung.

Wenn innerhalb desselben Dokuments sich die Formatierung ändert, kann es nicht am [Einfachen Absatz] liegen. Zumal ja berichtet wurde, dass die AFs auf [Kein Absatzformat] basieren.

Während die Theorie sagt, dass [Kein Absatzformat] sich nie ändern kann und immer Times, 12pt etc. ist, habe ich schon Rechner / Dokumente gesehen, bei denen diese Definition zerschossen war und stattdessen i.d.R. eine Helvetica für [Kein Absatzformat] angelegt war. Das, wie gesagt, darf nicht sein und daher gibt es innerhalb von InDesign auch keine UI Möglichkeit, das wieder zurück zu ändern.
Also bleibt nur der Weg über das Austauschformat, wo kurioserweise [Kein Absatzformat] einen Definitionsblock hat. Und damit korrigiert werden kann.

Also lag die Vermutung nahe, dass bei diesen Dokumenten auch die Definition von [Kein Absatzformat] kaputt ist.
Bestehende Dokumente können meines Wissens nur auf dem beschriebenen Weg repariert werden.
Wenn das Problem auch bei neu angelegten Dokumenten passiert, ist es Zeit, die Preferences zu löschen. Ich kann leider derzeit nicht sagen, in welcher Vorgabe-Datei [Kein Absatzformat] definiert ist. Also schmeißen Sie am besten alle weg.

Macht's das klarer?
...
Gerald Singelmann
24. Jan 2007, 13:07