[GastForen Programme Print/Bildbearbeitung Adobe InDesign Javascript: Grafik an Satzspiegel anpassen

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

Javascript: Grafik an Satzspiegel anpassen

Jürgen Althaus
Beiträge gesamt: 102

17. Feb 2009, 15:06
Beitrag # 1 von 3
Bewertung:
(2987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

nachdem ich so viel Hilfen und Infos aus dem Forum bekommen habe möchte ich auch ein wenig davon zurückgeben.

Habe für ein Werk ein kleines Skript gebastelt, dass importierte Grafiken an den Satzspiegel der aktuellen Seite proportional anpasst und gleichzeitig ein Objektformat zuweisst.
Vielleicht kann es ja jemand gebrauchen.

Viele Grüße
Jürgen
Code
//BilderAlsFormular.jsx 

//DESCRIPTION: Formatiert alle ausgewählten Grafiken mit einem Objektformat, passt sie an den Satzspiegel der aktuellen Seite an und richtet die Grafik an der oberen linken Ecke aus

var myStylename = 'Bilder';
var myDoc = app.activeDocument;

try{
myDoc.objectStyles.item( myStylename ).name;
}
catch (myError)
{
myDoc.objectStyles.add( { name : myStylename, strokeWeight : 0.4, strokeTint : 35, fillColor : 'Paper', enableStrokeAndCornerOptions:false,
transparencySettings:{dropShadowSettings:{mode : ShadowMode.DROP, opacity : 25, angle : 135, xOffset : '2mm', yOffset : '2mm', size : '2mm', blendMode : 'MULTIPLY', knockedOut : true }},
objectEffectsEnablingSettings: {enableDropShadow:true}} );
}


if (app.selection.length > 0)
var mySel = app.selection;
else
{
alert("Fehler!\rSo geht es nicht.\rNichts ausgewählt.");
exit();
}

for (oneItem = 0; oneItem < mySel.length; oneItem++)
{
if (mySel[oneItem].constructor.name == "Rectangle")
{
var myOStyle = myDoc.objectStyles.item(myStylename); // Objektstil
var myZeroPoint = myDoc.zeroPoint;
myDoc.zeroPoint = [0,0];
mySel[oneItem].geometricBounds = myGetBounds (myDoc, myDoc.pages.item(mySel[oneItem].parent.name));
mySel[oneItem].fit(FitOptions.fillProportionally);
mySel[oneItem].fit(FitOptions.frameToContent);
mySel[oneItem].applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils
myDoc.zeroPoint = myZeroPoint;
}
else
alert("Fehler!\rDu hast einen \""+ mySel[oneItem].constructor.name + "\" ausgewählt.\rIch brauche einen Bildrahmen!");
}
alert("Fertig!")

function myGetBounds(myDocument, myPage){
var myPageWidth = myDocument.documentPreferences.pageWidth;
var myPageHeight = myDocument.documentPreferences.pageHeight;
if(myPage.side == PageSideOptions.leftHand){
var myX2 = myPage.marginPreferences.left;
var myX1 = myPage.marginPreferences.right;
}
else{
var myX1 = myPage.marginPreferences.left;
var myX2 = myPage.marginPreferences.right;
}
var myY1 = myPage.marginPreferences.top;
var myX2 = myPageWidth - myX2 - myDoc.objectStyles.item(myStylename).transparencySettings.dropShadowSettings.xOffset;
var myY2 = myY1+1;
return [myY1, myX1, myY2, myX2];
}


(Dieser Beitrag wurde von Jürgen Althaus am 17. Feb 2009, 15:15 geändert)
X

Javascript: Grafik an Satzspiegel anpassen

Jürgen Althaus
Beiträge gesamt: 102

17. Feb 2009, 15:44
Beitrag # 2 von 3
Beitrag ID: #385897
Bewertung:
(2973 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Noch eine kleine Ergänzung des Scripts. Es funktioniert nur wenn die Linealeinheit auf Seite steht. Sollte jetzt abgefangen sein.
Code
//BilderAlsFormular.jsx 

//DESCRIPTION: Formatiert alle ausgewählten Grafiken mit einem Objektformat, passt sie an den Satzspiegel der aktuellen Seite an und richtet die Grafik an der oberen linken Ecke aus

var myStylename = 'Bilder';
var myDoc = app.activeDocument;

try{
myDoc.objectStyles.item( myStylename ).name;
}
catch (myError)
{
myDoc.objectStyles.add( { name : myStylename, strokeWeight : 0.4, strokeTint : 35, fillColor : 'Paper', enableStrokeAndCornerOptions:false,
transparencySettings:{dropShadowSettings:{mode : ShadowMode.DROP, opacity : 25, angle : 135, xOffset : '2mm', yOffset : '2mm', size : '2mm', blendMode : 'MULTIPLY', knockedOut : true }},
objectEffectsEnablingSettings: {enableDropShadow:true}} );
}


if (app.selection.length > 0)
var mySel = app.selection;
else
{
alert("Fehler!\rSo geht es nicht.\rNichts ausgewählt.");
exit();
}

for (oneItem = 0; oneItem < mySel.length; oneItem++)
{
if (mySel[oneItem].constructor.name == "Rectangle")
{
var myOStyle = myDoc.objectStyles.item(myStylename); // Objektstil

//Preferences sichern
with(myDoc){
var myZeroPoint = zeroPoint;
var myRuler = viewPreferences.rulerOrigin;
zeroPoint = [0,0];
viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;
}

mySel[oneItem].geometricBounds = myGetBounds (myDoc, myDoc.pages.item(mySel[oneItem].parent.name));
mySel[oneItem].fit(FitOptions.fillProportionally);
mySel[oneItem].fit(FitOptions.frameToContent);
mySel[oneItem].applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils

//Preferences zurückschreiben
with(myDoc){
zeroPoint = myZeroPoint;
viewPreferences.rulerOrigin = myRuler;
}
}
else
alert("Fehler!\rDu hast einen \""+ mySel[oneItem].constructor.name + "\" ausgewählt.\rIch brauche einen Bildrahmen!");
}
alert("Fertig!")

function myGetBounds(myDocument, myPage){
var myPageWidth = myDocument.documentPreferences.pageWidth;
var myPageHeight = myDocument.documentPreferences.pageHeight;
if(myPage.side == PageSideOptions.leftHand){
var myX2 = myPage.marginPreferences.left;
var myX1 = myPage.marginPreferences.right;
}
else{
var myX1 = myPage.marginPreferences.left;
var myX2 = myPage.marginPreferences.right;
}
var myY1 = myPage.marginPreferences.top;
var myX2 = myPageWidth - myX2 - myDoc.objectStyles.item(myStylename).transparencySettings.dropShadowSettings.xOffset;
var myY2 = myY1+1;
return [myY1, myX1, myY2, myX2];
}



als Antwort auf: [#385888]
(Dieser Beitrag wurde von Jürgen Althaus am 17. Feb 2009, 15:48 geändert)

Javascript: Grafik an Satzspiegel anpassen

Martin Fischer
  
Beiträge gesamt: 12668

17. Feb 2009, 16:04
Beitrag # 3 von 3
Beitrag ID: #385901
Bewertung:
(2969 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

herzlichen Dank für das Skript.
Ich werde es ins Skriptarchiv stellen: BilderAlsFormular.jsx.


als Antwort auf: [#385897]
(Dieser Beitrag wurde von Martin Fischer am 18. Feb 2009, 08:01 geändert)

Aktuell

InDesign / Illustrator

| 23.05.2022

IDUG_300

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/