[GastForen Programme Print/Bildbearbeitung Adobe InDesign Maßangaben pro zeile / CS5

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

Maßangaben pro zeile / CS5

Heike Burch
Beiträge gesamt: 1241

24. Nov 2011, 14:04
Beitrag # 1 von 2
Bewertung:
(583 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, kann man in ID angeben, dass mein Dokument eben nicht 297 mm groß ist sindern 106 Zeilen? (Als Einheit?)

Und wenn ja, kann man dem Element sagen, beginne bitte bei Zeile 10 und noch besser, im weiteren tagesverlauf, spring bitte auf zeile 14, weil das Bild oben nun 4 Zeilen höher wird...

Oder ich zihe einen Rahmen auf, der eben nur ein vielfaches der zeilenhöhe haben kann. Bsp: ich möchte einen 5-Zeiler, der ist dann automatisch 5 zeilen hoch und platziert wird er auf zeile 10 oder so.

das wäre doch toll. Ist das möglich?

(Dieser Beitrag wurde von Heike Koch am 24. Nov 2011, 14:06 geändert)
X

Maßangaben pro zeile / CS5

-hans-
Beiträge gesamt: 748

24. Nov 2011, 16:10
Beitrag # 2 von 2
Beitrag ID: #485138
Bewertung:
(544 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

vllt. nicht ganz soweit weg von Deiner Frage ;-)
Das Script moved eine Auswahl auf eine Startzeile und Startspalte.

theRowsLeft = xWerte der Spalten
theGridLines = yWerte der Zeilen

Die Werte sind hier fest eingegeben, irgendwo find ich bestimmt auch noch die fünf Zeilen die das ausrechnen ;-)

Dieses Beispiel gilt für ein 6-spaltiges Layout.


Code
//Auswahl auf ZielStartSpalteZeile "moven" 
var myDoc = app.documents[0];

with(myDoc.viewPreferences){
rulerOrigin = RulerOrigin.PAGE_ORIGIN;
horizontalMeasurementUnits = MeasurementUnits.millimeters;
verticalMeasurementUnits = MeasurementUnits.millimeters;
}

//myDoc.gridPreferences.baselineDivision

var allX1Bounds = new Array(); //Leerer Array für die x1Bounds der selection
var allY1Bounds = new Array(); //Leerer Array für die Y1Bounds der selection
//alle Zeilen, alle Spalten
var theGridLines = new Array(22.487,26.06,29.633,33.206,36.779,40.352,43.925,47.498,51.071,54.644,58.217,61.79,65.363,68.936,72.509,76.082,79.655,83.228,86.801,90.374,93.947,97.52,101.093,104.666,108.239,111.812,115.385,118.958,122.531,126.104,129.677,133.25,136.823,140.396,143.969,147.542,151.115,154.688,158.261,161.834,165.407,168.98,172.553,176.126,179.699,183.272,186.845,190.418,193.991,197.564,201.137,204.71,208.283,211.856,215.429,219.002,222.575,226.148,229.721,233.294,236.867,240.44,244.013,247.586,251.159,254.732,258.305,261.878,265.451,269.024,272.597,276.17,279.743,283.316,286.889,290.462,294.035,297.608,301.181,304.754,308.327,311.9,315.473,319.046,322.619,326.192,329.765,333.338,336.911,340.484,344.057,347.63,351.203,354.776,358.349,361.922,365.495,369.068,372.641,376.214,379.787,383.36,386.933,390.506,394.079,397.652,401.225,404.798,408.371,411.944,415.517,419.09,422.663,426.236,429.809,433.382,436.955,440.528,444.101,447.674,451.247,454.82,458.393,461.966,465.539,469.112,472.685,476.258,479.831,483.404,486.977,490.55,494.123,497.696,501.269); ///Startwerte für alle Zeilen
var theRowsLeft = new Array(11.83,66.464,121.098,175.732,230.366,285.000);

var theFrames = app.selection;
var countofSelection = theFrames.length;

//Aufruf Funktion myInput (die Abfrage)
var arraySpalteZeile = myInput ();


//hier Überprüfung der Eingabe
if ((arraySpalteZeile[1] > 5) && (arraySpalteZeile[1] < 135) && (arraySpalteZeile[0]>0) && (arraySpalteZeile[0] < 7)) {
doScript(arraySpalteZeile[0],arraySpalteZeile[1],theFrames,countofSelection);
}
else {
alert("Falsche Eingabe");
}

//arraySpalteZeile[0],= Splate -> arraySpalteZeile[1], = Zeile
function doScript(Spalte,Zeile, theFrames, countofSelection) {
var theChoiceLine = theGridLines[Zeile-1];
var theChoiceRow = theRowsLeft[Spalte-1];

///////////////////////////////////////////////////////////////////////////////////////////////// Min Y1 aller Elemente ermitteln
for (var i=0; i<countofSelection; i++) {
theBox = theFrames[i];
getY1X1Bounds(theBox);
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Elemente der Auswahl versetzen
var theYOffset = (allY1Bounds[0] - theChoiceLine);
var theXOffset = (allX1Bounds[0] - theChoiceRow);

for (var i=0; i<countofSelection; i++) {
theBox = theFrames[i];
setBounds(theYOffset,theXOffset,theBox);
}
}

function getY1X1Bounds(theBox) {
var theBounds = theBox.geometricBounds;
allY1Bounds.push(theBounds[0]);
allY1Bounds.sort(Numsort);
allX1Bounds.push(theBounds[1]);
allX1Bounds.sort(Numsort);
}

//sort fuer Zahlen
function Numsort (a, b) {
return a - b;
}


function setBounds(theYOffset,theXOffset,theBox) {
var theBounds = theBox.geometricBounds;
if((theBox.constructor.name) == "Rectangle"){
theBox.move([theBounds[1]-theXOffset,theBounds[0]- theYOffset]);
}
else if((theBox.constructor.name) == "Group"){
theBox.move([theBounds[1]-theXOffset,theBounds[0]- theYOffset]);
}
else {
theBox.geometricBounds = [theBounds[0]- theYOffset, theBounds[1]-theXOffset , theBounds[2] - theYOffset, theBounds[3]-theXOffset] ;
}
}

function myInput ()
{
var myWindow = new Window ("dialog", "Form");
var myInputGroup = myWindow.add ("group");
myInputGroup.add ("statictext", undefined, "Spalte:");
var myText = myInputGroup.add ("edittext", undefined, "1");
myText.characters = 3;
myInputGroup.add ("statictext", undefined, "Zeile:");
var myText02 = myInputGroup.add ("edittext", undefined, "6");
myText02.characters = 3;
var myButtonGroup = myWindow.add ("group");
myButtonGroup.alignment = "right";
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
if (myWindow.show () == 1) {
var inputArray = new Array ()
inputArray.push(myText.text);
inputArray.push(myText02.text);
return inputArray;
}
else {
exit ();
}
}


Lieben Gruß

Hans-Gerd


als Antwort auf: [#485113]

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

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

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/