[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Text in Pfade umwandeln und Objektstil zuweisen

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

Text in Pfade umwandeln und Objektstil zuweisen

juma68
Beiträge gesamt: 31

4. Sep 2012, 10:43
Beitrag # 1 von 5
Bewertung:
(1733 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, moin...

Ich hab gerade ein Brett vorm Kopf, das ist bestimmt was ganz simples und ich weiß auch, wo der Fehler steckt, weiß aber nicht, wie ich den beheb.

Ich versuche gerade ein Script zu bauen (halb schon hier aus dem Forum kopiert), dass mir einen, mit einem Zeichenformat versehenen Text in Pfade umwandelt und diesem dann einen Objektstil zuweist. Klappt soweit auch, nur der Objektstil wird nur dem ersten Pfad zugewiesen. Ist ja auch klar, in der Variable myPolygon ist auch nur ein Objekt. (wird ja auch nur das erste angesprochen).

Code
//DISCRIPTION: Wandelt Texte in Pfade um und weist denen einen Objektstil zu 

#target Indesign
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;

var myDocument = app.activeDocument;
var myDialog = app.dialogs.add({name:"Text in Pfad umwandeln"});
var myWidth_left = 80;
var myWidth_right = 230;
var myObjekte = myDocument.textFrames;


//Listen fürs Dropdown
var myObjektformat = myDocument.objectStyles.everyItem().name;
myObjektformat.unshift("- Bitte auswählen -");
var myZeichenformat = myDocument.characterStyles.everyItem().name;
myZeichenformat.unshift("- Bitte auswählen -");

//Vorgaben auswählen
with (myDialog) {
with (dialogColumns.add()) {
var myDialogGruppe = dialogRows.add();
with (myDialogGruppe) {
with (dialogColumns.add() ) {
staticTexts.add( {staticLabel: "Zeichenstil auswählen:", minWidth: myWidth_left} );
staticTexts.add( {staticLabel: "Objektstil auswählen", minWidth: myWidth_left} );
}
with (dialogColumns.add() ) {
var myZeichenstil = dropdowns.add({stringList: myZeichenformat, selectedIndex: 0, minWidth: myWidth_right});
var myDropdown = dropdowns.add({ stringList: myObjektformat, selectedIndex: 0, minWidth: myWidth_right});

}
}
}
}

var myResult = myDialog.show();
if(myResult == true){
var myObjektwahl = myObjektformat[myDropdown.selectedIndex];
var myZeichenwahl = myZeichenformat[myZeichenstil.selectedIndex];

//Dialogbox aus Speicher löschen.
myDialog.destroy();

app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
app.findTextPreferences.appliedCharacterStyle = myZeichenwahl; // hier Zeichenformat angeben
var myResult = app.activeDocument.findText();
for (i = myResult.length-1; i >= 0; i--)
var myPolygon = myResult[i].createOutlines();
myPolygon[0].applyObjectStyle(app.documents[0].objectStyles.item(myObjektwahl), true); //hier Objektformat angeben
}


alert("Fertig");

X

Text in Pfade umwandeln und Objektstil zuweisen

Uwe Laubender
Beiträge gesamt: 5257

4. Sep 2012, 12:20
Beitrag # 2 von 5
Beitrag ID: #500371
Bewertung:
(1702 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, juma68!

Mach doch einfach 'ne Schleife durch alle Objekte in "myPolygon" und weise dabei den Objektstil zu:

Code
for(var n=0;n<myPolygon.length;n++){ 
myPolygon[n].applyObjectStyle(app.documents[0].objectStyles.item(myObjektwahl), true); //hier Objektformat angeben
};



als Antwort auf: [#500363]

Text in Pfade umwandeln und Objektstil zuweisen

juma68
Beiträge gesamt: 31

4. Sep 2012, 13:12
Beitrag # 3 von 5
Beitrag ID: #500376
Bewertung:
(1679 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Macht er leider auch nur den ersten... dazu brauch ich wohl erst irgendwie ne Sammlung der Polygone...


als Antwort auf: [#500371]

Text in Pfade umwandeln und Objektstil zuweisen

Gerald Singelmann
  
Beiträge gesamt: 6264

4. Sep 2012, 14:30
Beitrag # 4 von 5
Beitrag ID: #500379
Bewertung:
(1646 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn Sie die Schleife nur über den Befehl
Code
		var myPolygon = myResult[i].createOutlines(); 

laufen lassen, können Sie nicht erwarten, dass der Befehl
Code
myPolygon[0].applyObjectStyle(app.documents[0].objectStyles.item(myObjektwahl),  true); 

mehr als einmal ausgeführt wird.

Das ist ein Paradebeispiel dafür, warum Debugger einen Code Schritt für Schritt durchgehen können.


als Antwort auf: [#500376]

Text in Pfade umwandeln und Objektstil zuweisen

juma68
Beiträge gesamt: 31

4. Sep 2012, 16:38
Beitrag # 5 von 5
Beitrag ID: #500383
Bewertung:
(1613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich sag ja: Brett vorm Kopf! :-) Aber jetzt hab ich's...
Ich bin aber auch noch blutiger Anfänger (und werd das wohl auch die nächsten 10 Jahre bleiben), wie man bestimmt an meinem Stil sieht.
Ich hab letztens Ihr Tutorial gesehen zum Scripten, super, danke, das hat mir echt vieles erklärt, was ich vorher nicht verstanden hab.


als Antwort auf: [#500379]
X

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
09.05.2023

Digicomp (Bern, Basel, Zürich)
Dienstag, 09. Mai 2023, 08.30 - 17.00 Uhr

Kurs

Sie verfügen über ein Abonnement der Creative Cloud, welches Adobe Acrobat DC Pro beinhaltet. Sind Sie unsicher, ob Ihre PDF Dateien für die jeweilige Druckausgabe geeignet sind? Lernen Sie in diesem Kurs das notwendige Rüstzeug für den sicheren Datenaustausch mit Druckdienstleistern. Erstellen Sie druckfähige PDF/X und prüfen Sie Ihre PDFs vor einer Weitergabe mit Acrobat DC Pro.

Dauer: 1 Tag
Preis: CHF 700.–, exkl. MWST

Ja

Organisator: Digicomp Academy AG

https://digicomp.ch/weiterbildung-media-communication/adobe/kurs-pruefen-von-druck-pdf-in-acrobat-dc-pro--basic

Prüfen von Druck-PDF in Acrobat DC Pro