[GastForen Programme Print/Bildbearbeitung Adobe InDesign script für Bilder in Zelle

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

script für Bilder in Zelle

valnera
Beiträge gesamt: 587

9. Apr 2012, 10:17
Beitrag # 1 von 3
Bewertung:
(4061 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum,
habe hier ein älteres Script von Martin Fischer (http://www.hilfdirselbst.ch/foren/Bild_in_Tabellenzelle_einpassen_P210600.html) gefunden, das Bilder über das Erstellen eines Bildrahmens in Tabellenzellen angepasst platziert – aber leider funktioniert das nicht mit der CS 5.5 und ich habe auch nichts bei den Scripten gefunden. Gibt es da überhaupt etwas?
Danke und Gruß, Valnera
X

script für Bilder in Zelle

Uwe Laubender
Beiträge gesamt: 5000

9. Apr 2012, 13:24
Beitrag # 2 von 3
Beitrag ID: #493193
Bewertung:
(4022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Valnera!

Mich wundert, dass das erwähnte Script überhaupt jemals wie gewünscht funktioniert hat. Ich beziehe mich auf dieses Script:

http://www.hilfdirselbst.ch/..._P210600.html#210600

Meiner Ansicht nach gibt's da einen Zuordnungsfehler. Ersetze mal VORHER durch NACHHER oder verwende das von mir bearbeitete Script am Ende dieses Beitrags:

VORHER (Die Abbildung wird angesprochen):
Code
myPic.fit(FitOptions.fillProportionally); 


NACHHER (Der Bildrahmen wird angesprochen):
Code
myRec.fit(FitOptions.fillProportionally); 


Es gibt aber noch andere Probleme bei der exakten Konstruktion der Rechteckgröße und -lage für die Abbildung.

Es wird nicht (ausreichend) berücksichtigt:

1. Die voreingestellte Strichstärke eines neuen Rahmens

Abhilfe:
Ersetze die Scriptzeile:
Code
myRec = myCell.insertionPoints[0].rectangles.add({strokeWeight:0}); 


durch:
Code
myRec = myCell.insertionPoints[0].rectangles.add({strokeWeight:0, strokeColor:"None"}); 


2. Die Strichstärke(n) des Zellenrandes in x-Richtung
Änderung siehe weiter unten angehängtes Gesamtscript.

3. Die exakte Größe des Bildrahmens bezogen auf die Zellenausrichtung

Schließlich noch:
4. Ob der erste Einfügepunkt eingezogen ist (ein angewandtes Absatzformat könnte das provozieren) [Könnte aber auch gewünscht sein!]

1 bis 3 habe ich auf die Schnelle berücksichtig.

Frohe Ostern!
Uwe

Hier das Script (ab InDesign CS4) mit einer undo-Funktion versehen. Getestet in InDesign CS5.5 v7.5.2:

Code
//insertPictureIntoCell_CS4-CS5.5.jsx 
//Martin Fischer
//http://www.hilfdirselbst.ch/foren/Bild_in_Tabellenzelle_einpassen_P210600.html#210600

// /*EDIT*/ Uwe Laubender
//

//DESCRIPTION: Paßt ein Bild, das über einen Dialog ausgewählt wird, in einen verankerten Rahmen innerhalb der Zelle ein, in welcher der Cursor steht.

//alternative Anpassungen des Bildes an den Rahmen siehe unten


/*EDIT*/ app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

/*EDIT*/ if(parseFloat(app.version)<6){
alert("Your InDesign app version should be version 6 (CS4) or above!");
exit();
};

/*EDIT*/ if(parseFloat(app.version)>7.6){
alert("Script is not tested for InDesign above version 7.5 (CS5.5)");
exit();
};


/*EDIT*/ app.doScript(_InsertPictureIntoCell, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "Verankerten Rahmen in Zelle einfügen; Bild darin platzieren.");



/*EDIT*/ function _InsertPictureIntoCell(){



if (app.selection[0].parent.constructor.name == "Cell")
{
/*EDIT*/ var oldPrefs = app.documents[0].viewPreferences.properties;
/*EDIT*/ app.documents[0].viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;
/*EDIT*/ app.documents[0].viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;

var myCell = app.selection[0].parent;
var myHeight = myCell.height - myCell.topInset - myCell.bottomInset /*EDIT*/ - myCell.topEdgeStrokeWeight/2 - myCell.bottomEdgeStrokeWeight/2;
var myWidth = myCell.width - myCell.leftInset - myCell.rightInset /*EDIT*/ - myCell.leftEdgeStrokeWeight/2 - myCell.rightEdgeStrokeWeight/2;

var myRec = myCell.insertionPoints[0].rectangles.add({strokeWeight:0 /*EDIT*/, strokeColor:"None"});

myRec.geometricBounds =
[myRec.geometricBounds[0],
myRec.geometricBounds[1],
myRec.geometricBounds[0] + myHeight,
myRec.geometricBounds[1] + myWidth]

myRec.place(File.openDialog("Bild wählen: " ));

/*EDIT*/ myRec.fit(FitOptions.fillProportionally); // alternative Anpassung: contentToFrame, frameToContent, centerContent, proportionally, fillProportionally

/*EDIT*/ app.documents[0].viewPreferences.properties = oldPrefs;
};
else
{
alert("Bitte den Cursor in eine Tabellenzelle plazieren.")
};

/*EDIT*/ }; //End Function "_InsertPictureIntoCell"

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#493186]

script für Bilder in Zelle

valnera
Beiträge gesamt: 587

9. Apr 2012, 13:41
Beitrag # 3 von 3
Beitrag ID: #493194
Bewertung:
(4013 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Uwe für dein Script, das auf Anhieb funktioniert hat und man kann damit wirklich die anderen Bastelarbeiten mit den Bordmitteln von InDesign vergessen. Was würden wir ohne euch Scriptfreaks machen …
Gruß, Valnera


als Antwort auf: [#493193]

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
09.09.2021 - 17.12.2021

Digicomp Academy, Zürich
Donnerstag, 09. Sept. 2021, 13.00 Uhr - Freitag, 17. Dez. 2021, 19.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von Publishing NETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: 6'300.– zzgl. 7.7% MWST
Dauer: 18 Tage(ca. 126 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-Mailkundenberater AT digicomp DOT ch