[GastForen Programme Print/Bildbearbeitung Adobe InDesign Übersatztext: "Rahmen an Inhalt anpassen" per Script?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 10:01
Beitrag # 1 von 14
Bewertung:
(9639 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
wir haben unseren Schriftenfundus aktuell von Type1 auf OpenType umgestellt. Hierdurch kommt es bei einigen Schriften durch die Ersetzung zu Übersatztext. Da wir meistens mit an Inhalt angepassten Rahmen arbeiten, teilweise sehr umfangreich. Ist euch ein Script bekannt, mit dem man alle Rahmen mit Übersatztext in einem Dokument auf einen Schlag an den Inhalt anpassen könnte?

Vielen Dank für Unterstützung vorab und beste Grüße,
mza
X

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Martin Fischer
  
Beiträge gesamt: 12783

22. Jul 2016, 10:34
Beitrag # 2 von 14
Beitrag ID: #551393
Bewertung:
(9623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hilft die automatische Größeanpassung im
Objektstil?


als Antwort auf: [#551391]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Kai Rübsamen
  
Beiträge gesamt: 4684

22. Jul 2016, 10:49
Beitrag # 3 von 14
Beitrag ID: #551395
Bewertung:
(9607 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm, beunruhigt euch das gar nicht? Übersatztext bedeutet ja, dass sich der ganze Umbruch verschoben hat.

Zum Anpassen von Textrahmen versuch mal das:

Code
// Textrahmen anpassen 

app.doScript( main, ScriptLanguage.JAVASCRIPT , [], UndoModes.ENTIRE_SCRIPT, "Textrahmen anpassen" );

function main() {
// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// prüfen, ob ein Dokument geöffnet ist
if (!app.documents.length) {
alert ("Es ist kein Dokument offen.");
exit();
}

// das Dokument im Vordergrund
var curDoc = app.documents[0];
// alle Textrahmen
var tFrames = curDoc.textFrames.everyItem().getElements();

for (var i = 0; i < tFrames.length; i++) {
var tf = tFrames[i];
var tfGB = tf.geometricBounds;
// den Rahmen vergrößern …
tfGB[2] = tfGB[2] + 20;
tf.geometricBounds = tfGB;
// … und wieder an den Text anpassen
fitFrame(tf);
}

function fitFrame(aFrame) {
var lastBaseLine = aFrame.lines[-1].baseline;
var b = aFrame.geometricBounds;
aFrame.geometricBounds = [b[0], b[1], lastBaseLine, b[3]];
}
}



als Antwort auf: [#551393]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Uwe Laubender
Beiträge gesamt: 5319

22. Jul 2016, 11:09
Beitrag # 4 von 14
Beitrag ID: #551397
Bewertung:
(9581 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ] Hm, beunruhigt euch das gar nicht? Übersatztext bedeutet ja, dass sich der ganze Umbruch verschoben hat.


Hallo Kai,
also mich würde das beunruhigen.
Ich würde versuchen, das anders zu lösen.

Vielleicht hilft ja für den Stehsatz die Schrift etwas enger zu setzen?
Ist natürlich auch ein Gefrickel. Und die Trennungen? Die müssen natürlich in jedem Fall auf Richtigkeit untersucht werden.


als Antwort auf: [#551395]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 11:11
Beitrag # 5 von 14
Beitrag ID: #551398
Bewertung:
(9577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] Hilft die automatische Größeanpassung im
Objektstil?


Vielen Dank für deine Rückfrage. Was genau meinst du in diesem Fall? Bewegt sich das in "[Einfacher Textrahmen]"? Für Textrahmen haben wir bisher fast keine Objektformate verwendet...

Gruß,
mza


als Antwort auf: [#551393]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 11:14
Beitrag # 6 von 14
Beitrag ID: #551399
Bewertung:
(9572 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ihr beiden,
Problem ist (glücklicherweise) nicht die Laufweite sondern eine veränderte Versalhöhe bzw. erste Grundlinie.

Gruß,
mza


als Antwort auf: [#551397]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Uwe Laubender
Beiträge gesamt: 5319

22. Jul 2016, 11:16
Beitrag # 7 von 14
Beitrag ID: #551400
Bewertung:
(9569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo mza,
es ist wohl "Automatisch Größe ändern" in den "Textrahmenoptionen" gemeint.
Funktioniert mit alleinstehenden Textrahmen und dem letzten Textrahmen einer Textrahmenkette.


als Antwort auf: [#551398]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 11:17
Beitrag # 8 von 14
Beitrag ID: #551401
Bewertung:
(9567 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ] Hm, beunruhigt euch das gar nicht? Übersatztext bedeutet ja, dass sich der ganze Umbruch verschoben hat.

Zum Anpassen von Textrahmen versuch mal das:

Code
// Textrahmen anpassen 

app.doScript( main, ScriptLanguage.JAVASCRIPT , [], UndoModes.ENTIRE_SCRIPT, "Textrahmen anpassen" );

function main() {
// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// prüfen, ob ein Dokument geöffnet ist
if (!app.documents.length) {
alert ("Es ist kein Dokument offen.");
exit();
}

// das Dokument im Vordergrund
var curDoc = app.documents[0];
// alle Textrahmen
var tFrames = curDoc.textFrames.everyItem().getElements();

for (var i = 0; i < tFrames.length; i++) {
var tf = tFrames[i];
var tfGB = tf.geometricBounds;
// den Rahmen vergrößern …
tfGB[2] = tfGB[2] + 20;
tf.geometricBounds = tfGB;
// … und wieder an den Text anpassen
fitFrame(tf);
}

function fitFrame(aFrame) {
var lastBaseLine = aFrame.lines[-1].baseline;
var b = aFrame.geometricBounds;
aFrame.geometricBounds = [b[0], b[1], lastBaseLine, b[3]];
}
}



Vielen Dank. Das Script schenkt mir zumindest schonmal ein paar Zeilen mehr aber ganz auflösen tut es den Übersatztext noch nicht... (?)

Gruß
mza


als Antwort auf: [#551395]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Uwe Laubender
Beiträge gesamt: 5319

22. Jul 2016, 11:25
Beitrag # 9 von 14
Beitrag ID: #551402
Bewertung:
(9557 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ MZA ] Hallo ihr beiden,
Problem ist (glücklicherweise) nicht die Laufweite sondern eine veränderte Versalhöhe bzw. erste Grundlinie.


Dann könnte man genau an diesem Punkt ansetzen.
Auch dafür: "Textrahmenoptionen" => "Grundlinienoptionen".


als Antwort auf: [#551399]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 11:29
Beitrag # 10 von 14
Beitrag ID: #551403
Bewertung:
(9552 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Hallo mza,
es ist wohl "Automatisch Größe ändern" in den "Textrahmenoptionen" gemeint.
Funktioniert mit alleinstehenden Textrahmen und dem letzten Textrahmen einer Textrahmenkette.


Das ist ja der Wahnsinn! Kannte ich noch gar nicht... Schonmal eine sehr annehmbare Lösung. Vielen Dank!


als Antwort auf: [#551400]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 11:33
Beitrag # 11 von 14
Beitrag ID: #551404
Bewertung:
(9540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ]
Antwort auf [ MZA ] Hallo ihr beiden,
Problem ist (glücklicherweise) nicht die Laufweite sondern eine veränderte Versalhöhe bzw. erste Grundlinie.


Dann könnte man genau an diesem Punkt ansetzen.
Auch dafür: "Textrahmenoptionen" => "Grundlinienoptionen".


Da sich das von Schrift zu Schrift anders verhält halte ich die "Autom. Größenanpassung" für bestens geeignet. Vielen Dank euch.

Beste Grüße,
mza


als Antwort auf: [#551402]

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

Kai Rübsamen
  
Beiträge gesamt: 4684

22. Jul 2016, 11:45
Beitrag # 12 von 14
Beitrag ID: #551405
Bewertung:
(9505 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Das Script schenkt mir zumindest schonmal ein paar Zeilen mehr aber ganz auflösen tut es den Übersatztext noch nicht... (?)

Das wundert mich, da ein Textrahmen zunächst (bei Voreinstellung mm) auf 20 mm vergrößert und dann angepasst wird. Da scheint es also jede Menge Übersatz zu geben.

Falls du das ändern willst, einfach hier einen anderen Wert eingeben, z.B. 40:
Code
// den Rahmen vergrößern …  
tfGB[2] = tfGB[2] + 20;


Antwort auf: Da sich das von Schrift zu Schrift anders verhält halte ich die "Autom. Größenanpassung" für bestens geeignet.

Die autom. Größenanpassung nimmst du in der Regel für Infokästchen usw., also einzelne Rahmen. Wenn du das für alles aktivierst, wirst du feststellen, dass eure Dokumente plötzlich langsamer werden, weil die Höhe eines Rahmens permanent dynamisch geprüft wird.


als Antwort auf: [#551404]
(Dieser Beitrag wurde von Kai Rübsamen am 22. Jul 2016, 11:46 geändert)

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

MZA
Beiträge gesamt:

22. Jul 2016, 12:01
Beitrag # 13 von 14
Beitrag ID: #551406
Bewertung:
(9432 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Das wundert mich, da ein Textrahmen zunächst (bei Voreinstellung mm) auf 20 mm vergrößert und dann angepasst wird. Da scheint es also jede Menge Übersatz zu geben.


Pardon, mein Fehler. Hatte es nicht mit einem geringfügigen Übersatz getestet...

Antwort auf: Die autom. Größenanpassung nimmst du in der Regel für Infokästchen usw., also einzelne Rahmen. Wenn du das für alles aktivierst, wirst du feststellen, dass eure Dokumente plötzlich langsamer werden, weil die Höhe eines Rahmens permanent dynamisch geprüft wird.


Vielen Dank für die "Vorwarnung". Für eine nachträgliche Anpassung eignet es sich perfekt. Kann man ja dann wieder deaktivieren. Je nach Dokumentumfang überlegen wir aber dies generell einzusetzen. Ist schon eine tolle Funktion und bisher bei uns "durchgerutscht"...

Beste Grüße,
mza


als Antwort auf: [#551405]
(Dieser Beitrag wurde von MZA am 22. Jul 2016, 12:02 geändert)

Übersatztext: "Rahmen an Inhalt anpassen" per Script?

NEU!
Beiträge gesamt: 180

22. Jul 2016, 16:25
Beitrag # 14 von 14
Beitrag ID: #551417
Bewertung:
(9250 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab hier auch noch n Code-Snippsel in meinem Applescript-Sammelsurium gefunden:


Code
tell application "Adobe InDesign CS5.5" 
activate
set AI to all page items of active document
repeat with k from 1 to length of AI

if class of item k of AI = text frame then
if overflows of item k of AI = true then
tell item k of AI
fit given frame to content
end tell
end if
end if
end repeat
end tell



als Antwort auf: [#551406]
X