[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Scriptbefehl Statische Beschriftung erstellen

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

Scriptbefehl Statische Beschriftung erstellen

Klaus79
Beiträge gesamt: 320

15. Nov 2011, 10:15
Beitrag # 1 von 7
Bewertung:
(5441 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich suche einen Scriptbefehl, der mir unter der CS5 (Mac)
bei einem oder mehreren ausgewählten Bildrahmen die
Statische Beschriftung im Objektmenü automatisch erstellt.

Objekt >Beschriftungen >Statische Beschriftung erstellen

Kennt den jemand von Euch?

Danke im voraus
Klaus
X

Scriptbefehl Statische Beschriftung erstellen

Martin Fischer
  
Beiträge gesamt: 12685

15. Nov 2011, 12:07
Beitrag # 2 von 7
Beitrag ID: #484412
Bewertung:
(5406 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

Antwort auf: Objekt >Beschriftungen >Statische Beschriftung erstellen

Vermutlich handelt es sich dabei um ein Skript, das hinter dem Menübefehl liegt. ;-)

Such mal im InDesign-Forum nach caption.

Damit solltest Du diverse Skripte zum Hinzufügen von Bildunterschriften finden.
Z.B. das uralte addCaption.js

Dort kannst Du den Quellcode nach Deinen Bedürfnissen anpassen.


als Antwort auf: [#484396]

Scriptbefehl Statische Beschriftung erstellen

Klaus79
Beiträge gesamt: 320

15. Nov 2011, 12:46
Beitrag # 3 von 7
Beitrag ID: #484420
Bewertung:
(5391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
erst einmal Danke für Deine Antwort.

Es geht mir aber wirklich um den besagten Aufruf. Hintergrund:

Mit BilderLaden_502d.js von Hans Haesler wird der erste
Druckbogen vervielfälltigt und die Bilder eines ausgewählten
Ordners geladen. Mit den folgenden beiden Scripten von Dir
und Gerald weise ich dann der Beschriftung aufeinanderfolgende
Stile zu und bringe die Rahmen automatisch auf Texthöhe.

//DESCRIPTION:Beschriftungen formatieren

#target indesign;

// vorsichtshalber die Dialoge einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// FirstAndNextStyles.jsx
// 1. Nächsten Stil automatisch zuweisen / © M. Fischer

app.loadFindChangeQuery ('Tab nach Doppelpunkt', SearchModes.textSearch);
app.activeDocument.changeText();

var myFirstPStyle = "Bildname";

Object.prototype.isText = function()
{
switch(this.constructor.name)
{
case "InsertionPoint":
case "Character":
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "TextFrame":
return true;
default :
return false;
}
}

if (app.selection.length > 0) {
var myDoc = app.documents[0];
for (oneSel = 0; oneSel < app.selection.length; oneSel++) {
if (app.selection[oneSel].isText()) {
// apply paragraph style to the first of selected paragraphs
try {
app.selection[oneSel].paragraphs[0].appliedParagraphStyle = myDoc.paragraphStyles.item (myFirstPStyle);
}
catch(e){
}

// apply paragraphs next style to the following paragraphs
if (app.selection[oneSel].paragraphs.length > 1)
for (oneP = 1; oneP < app.selection[oneSel].paragraphs.length; oneP++)
app.selection[oneSel].paragraphs[oneP].appliedParagraphStyle =
app.selection[oneSel].paragraphs[oneP-1].appliedParagraphStyle.nextStyle;
}
}
}

// 2. Rahmen automatisch auf Texthöhe / © M. Fischer/Singelmann

if (app.selection.length > 0) {main();}

function main() {
var allSel = app.selection;
for (var n = 0; n < allSel.length; n++) {
var aSel = allSel[n];
if (aSel.constructor.name == "TextFrame") {
var b = aSel.geometricBounds;
var marginBottom = app.activeDocument.documentPreferences.pageHeight - app.activeDocument.marginPreferences.bottom;
aSel.geometricBounds = [b[0], b[1], marginBottom, b[3]];
aSel.fit(FitOptions.FRAME_TO_CONTENT);
var b1 = aSel.geometricBounds;
aSel.geometricBounds = [b1[0],b[1],b1[2],b[3]];
}
}
}

Ich suche jetzt also für den Anfang dieser Scripte ein
automatisches „Statische Beschriftung erstellen” (es handelt
sich hier nämlich um 10 Textpositionen, die ausgelesen werden).

Wenn ich diesem Befehl z.B. ein Tastaturkürzel zuweise
(Apfel -*), wäre es vielleicht auch schon ausreichend, wenn
ich den am Anfang des Scripts aufrufe.
Oder mach ich da einen Denkfehler? Bin nicht so scriptbewandert.

Klaus


als Antwort auf: [#484412]
(Dieser Beitrag wurde von Klaus79 am 15. Nov 2011, 12:49 geändert)

Scriptbefehl Statische Beschriftung erstellen

Martin Fischer
  
Beiträge gesamt: 12685

15. Nov 2011, 13:36
Beitrag # 4 von 7
Beitrag ID: #484424
Bewertung:
(5368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

ich weiß immer noch nichts zum Aufruf dieses Menübefehls zu sagen.

Antwort auf: Ich suche jetzt also für den Anfang dieser Scripte ein
automatisches „Statische Beschriftung erstellen” (es handelt
sich hier nämlich um 10 Textpositionen, die ausgelesen werden).


Wenn es darum geht, Metadaten aus Verknüpfungen herauszulesen, könnte linkXmp eines link(s) weiterhelfen.

Für die Ermittlung von weiteren als den dort angebotenen Metadaten ist vielleicht ein Blick in Zugriff auf Bridge aus JavaScript für InDesign interessant.


als Antwort auf: [#484420]
(Dieser Beitrag wurde von Martin Fischer am 15. Nov 2011, 13:46 geändert)

Scriptbefehl Statische Beschriftung erstellen

Klaus79
Beiträge gesamt: 320

15. Nov 2011, 13:51
Beitrag # 5 von 7
Beitrag ID: #484427
Bewertung:
(5357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
Danke. Mal sehen, ob ich damit zurecht komme ...

Gruß
Klaus


als Antwort auf: [#484424]

Scriptbefehl Statische Beschriftung erstellen

drerol74
Beiträge gesamt: 501

15. Nov 2011, 18:22
Beitrag # 6 von 7
Beitrag ID: #484466
Bewertung:
(5310 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

direkt auf diesen Befehl zugreifen kann man per Script - glaub ich - nicht. Gregor Fellenz hat zu einem ähnlichen Fall den Umweg über eine Textvariable vorgeschlagen.

Umgesetzt für deinen Fall sieht dies in etwa so aus:

Code
#target InDesign 

var _doc = app.activeDocument;
var _selction = app.selection[0];
var _imgBounds = _selction.geometricBounds;

var _tfImgDes = _doc.textFrames.add();
var _imageHeight = _imgBounds[2] - _imgBounds[0];
var _ytfB1 = _imgBounds[0] + _imageHeight;
var _xtfB1 = _imgBounds[1];
var _ytfB2 = _imgBounds[2] + 30;
var _xtfB2 = _imgBounds[3];
_tfImgDes.geometricBounds = [_ytfB1, _xtfB1, _ytfB2, _xtfB2];

var _imgDes = _doc.textVariables.itemByName("Bildbeschreibung");
var _imgDesInst = _tfImgDes.textVariableInstances.add();
_imgDesInst.associatedTextVariable = _imgDes;

_ytfB2 = _tfImgDes.lines[-1].baseline;
_tfImgDes.geometricBounds = [_ytfB1, _xtfB1, _ytfB2, _xtfB2];


Dazu musst du eine entsprechende Textvariable (hier "Bildbeschreibung") anlegen.

Der Vorschlag von Martin (linkXmp) ist der direkte Weg, sprich ohne Textvariable, direkt aus den Metadaten auslesen. (Je nachdem, wie du arbeiten willst.) Im angehängten Script in Zeile 89 - 90 "in situ" zu betrachten. (Das Script platziert Bilder an bestimmten Textstellen und fügt die Bildbeschreibung aus den Metadaten hinzu.)

Vielleicht hilft's ...

Schöne Grüße
Roland


als Antwort auf: [#484427]
Anhang:
Bilder_platzieren.zip (61.3 KB)

Scriptbefehl Statische Beschriftung erstellen

Klaus79
Beiträge gesamt: 320

15. Nov 2011, 20:24
Beitrag # 7 von 7
Beitrag ID: #484471
Bewertung:
(5291 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Roland,
auch Dir ein herzliches Dankeschön. Deine und Martins
Ausführungen werden bestimmt zu einer Lösung führen.
(Das wird meine Wochenendarbeit sein).

Gruß
Klaus


als Antwort auf: [#484466]
X

Aktuell

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
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/