[GastForen Programme Print/Bildbearbeitung Adobe InDesign Übersatztext in Tabellen

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

Übersatztext in Tabellen

funkturmmitte
Beiträge gesamt: 111

12. Okt 2015, 15:56
Beitrag # 1 von 1
Bewertung:
(1226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Vielleicht kann mir jemand von euch bei meinem Problem weiterhelfen.
Die Suche hier im Forum war jedenfalls (bisher) nicht von Erfolg gekrönt.

Ich muss in Dokumenten mit vielen Tabellen Übersatztext beseitigen. Dabei kommt es nicht auf Schönheit an.
Dafür nutze ich ein Scipt, das die Schrift einfach solange verkleinert bis es passt. Nur dummerweise klappt das nicht in Tabellen.
Hat vielleicht jemand eine Idee wie ich dieses Script erweitern könnte um die entsprechende Funktionalität zu erhalten?

Hier ist das Script:
Code
// Die Original-Quelle dieses Scripts ist unbekannt. 
// Mit diesem Script ist es möglich, Übersatztext so zu verkleinern, dass er in das Layout passt.
#target indesign
myDoc = app.activeDocument;
var textArr = new Array(), mRes, myPit, count, done;
mFramesToMove = new Array();
myPit = myDoc.allPageItems; // array with doc pageItems (masterpages and groups included)
for (var k = 0; k < myPit.length; k++)
if (myPit[k].constructor.name == "TextFrame" && myPit[k].overflows )
textArr.push(myPit[k]); // array with overset textFrames
count = textArr.length;

if (count) mRes = mDialog (count);
else {alert ("No overset texts found"); exit (); }

for (var i = 0; i < textArr.length; i++) {
done = mShrink (textArr[i], mRes);
if (!done[0] ) {
alert (done[1] + "\rFill a dialog field with a number");
exit; }
}

if (mFramesToMove.length) {
if (myDoc.layers.item("Overset frames").isValid)
mLayer = myDoc.layers.item("Overset frames");
else
mLayer = myDoc.layers.add({LocationOptions: LocationOptions.AT_BEGINNING, name: "Overset frames"});
for (var i = 0; i < mFramesToMove.length; i++)
mFramesToMove[i].itemLayer = mLayer;
alert ("Some frames (" + mFramesToMove.length + ") stay overset\rTake a look at layer 'Overset Frames' ");
}
else alert (count + " frames overset fixed");

function mDialog (number) {// "What to do" dialog
var w = new Window("dialog","What to do?", undefined, {closeButton: false});
w.add ("statictext", undefined, "Number of overset texts found: " + number.toString() );

var myTop = w.add ("panel");
myTop.alignment = "left";
myTop.orientation = "row";

var myCheckBx = myTop.add ("group");
myCheckBx.orientation = "column";
myCheckBx.alignChildren = "left";
var Ch1 = myCheckBx.add("checkbox", undefined, "point size limit: ");
var Ch2 = myCheckBx.add("checkbox", undefined, "hori scale limit: ");

var myEditBx = myTop.add ("group");
myEditBx.orientation = "column";
var Ed1 = myEditBx.add("edittext", undefined, undefined);
Ed1.enabled = false; Ed1.characters = 4;
var Ed2 = myEditBx.add("edittext", undefined, undefined);
Ed2.enabled = false; Ed2.characters = 4;

Ch1.onClick = function () {
if (Ch1.value) Ed1.enabled = true;
else Ed1.enabled = false;}
Ch2.onClick = function () {
if (Ch2.value) Ed2.enabled = true;
else Ed2.enabled = false;}

var myStatBx = myTop.add ("group");
myStatBx.orientation = "column";
myStatBx.add("statictext", undefined, " pt");
myStatBx.add("statictext", undefined, " %");

var b = w.add ("group");
b.add ("button", undefined, "OK", {name: "ok"});
b.add ("button", undefined, "Abbrechen", {name: "cancel"});

if (w.show() == 1)
return [Ch1.value, Ed1.text, Ch2.value, Ed2.text];
else exit();
}

function mShrink (textFr, ToDoArr) { // input textFrame and array with mDialog result
var pSizeLimAc, pSizeLim, pSizeCurr, pSizeDiff, pSizeStepN, pSizeStep,
hScaleAc, hScaleLim, hScaleCurr, hScaleDiff, hScaleStepN, hScaleStep,
ToDo;
pSizeLimAc = ToDoArr[0];
hScaleAc = ToDoArr[2];

pSizeLim = ToDoArr[1];
if (pSizeLimAc) {
if (isNaN (parseFloat(pSizeLim) ) ) return [false, "point size is not a number"];
else pSizeLim = parseFloat(pSizeLim);
pSizeCurr = textFr.parentStory.pointSize;
pSizeDiff = pSizeCurr - pSizeLim;
pSizeStepN = pSizeDiff / 0.1;
pSizeStep = 0.1;
}

hScaleLim = ToDoArr[3];
if (hScaleAc) {
if (isNaN (parseFloat(hScaleLim) ) ) return [false, "hori scale is not a number"];
else hScaleLim = parseFloat(hScaleLim);
hScaleCurr = textFr.parentStory.horizontalScale;
hScaleDiff = hScaleCurr - hScaleLim;
if (pSizeLimAc) hScaleStepN = pSizeStepN;
else hScaleStepN = hScaleDiff;
hScaleStep = Math.round(hScaleDiff/hScaleStepN*10)/10;
}
if (!(hScaleDiff > 0) ) hScaleAc = false;
if (!(pSizeDiff > 0) ) pSizeLimAc = false;
if (pSizeLimAc && hScaleAc) ToDo = 3;
else if (pSizeLimAc) ToDo = 1;
else if (hScaleAc) ToDo = 2;
else ToDo = 0;

switch (ToDo) {
case 1: {
while (pSizeStepN-- && textFr.overflows)
textFr.parentStory.pointSize -= pSizeStep;
break; }
case 2: {
while (hScaleStepN-- && textFr.overflows)
textFr.parentStory.horizontalScale -= hScaleStep;
break; }
case 3: {
while (hScaleStepN-- && textFr.overflows)
{
textFr.parentStory.pointSize -= pSizeStep;
textFr.parentStory.horizontalScale -= hScaleStep;
}
break; }
default: break;
}
if (textFr.overflows) mFramesToMove.push(textFr);
return [true];
}


Vielen Dank für euere Aufmerksamkeit!

Oliver
X

Aktuell

PDF / Print
kalenderFebruar_kl

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
01.03.2021 - 05.03.2021

Persönlichkeitsentwicklung

Online
Montag, 01. März 2021, 00.17 Uhr - Freitag, 05. März 2021, 00.18 Uhr

Webinar

Personal Power Coaching - Um was geht es? ​ Potenzialentfaltung: Potenzial entdecken und entfalten Talente entdecken: Deine Talente und Fähigkeiten erkennen und loslegen Gewohnheiten: schlechte Gewohnheiten durch Positive ersetzen Selbstbewusstsein stärken: Dein Bewusstsein stärken Eigendynamik entwickeln: Mehr Erfolg durch Eigenverantwortung & Disziplin Ängste kontrollieren: Ängste als Antrieb nutzen Entscheidungen treffen: Mit mehr Mut an die Sache ran! Lebensenergie steigern: Deine Lebensenergie steigern und aufrechterhalten Ziele erreichen: Ziele setzen und übertreffen! Motivationssteigerung: Mehr Erfolg durch Selbstmotivation Selbstvertrauen: Selbstvertrauen auf- und ausbauen

Details:
https://www.snfa.ch/swiss-personal-power-birolisik

Ja

Organisator: Birol Isik

Kontaktinformation: Birol Isik, E-Mailinfo AT snfa DOT ch

https://www.snfa.ch/swiss-personal-power-birolisik

Neuste Foreneinträge


Update Problem

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Illustrator Datei aktualisieren

Schwarz überdruckt nicht

Schwarz überdruckt nicht

CC 2020: Problem mit Textumfluss mit verankerten Objekten

Bilder verschieben sich nach dem Speichern und Kopiern der Datei

Optionsfelder abhängig machen von Kontrollkästchen

InDesign CC21 sperrt Taskleiste und Programme

Verknüpfung mit Format aufheben
medienjobs