[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textrahmen und Inhalt finden

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

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

22. Aug 2018, 23:30
Beitrag # 1 von 9
Bewertung:
(613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe folgenden Code:
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;


for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {

app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";

var _findInfo = _dok.findText();

for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");
}
}
}


Ziel ist es, auf einer Seite einen Textrahmen mit den Bezeichnung "tf_info" zu finden und in dem der Text "Info" enthalten ist. Beim Auffinden soll dem TR das OF "Infobox" zugewiesen werden.
Der Code ignoriert nun aber die Bezeichnung des TR und findet alle TR, in dem das Wort Info steht. Wie bekomme ich es dazu, nur die Textrahmen mit dem Wort zu finden?
---
Viele Grüße
Mario
X

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4162

23. Aug 2018, 10:43
Beitrag # 2 von 9
Beitrag ID: #565741
Bewertung:
(589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
schau' Dir mal Deine Zeile an, die nach dem Text sucht.
_dok.findText() durchsucht nun mal das ganze Dokument.
Beschränke das auf _tfInfo.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#565737]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

23. Aug 2018, 16:15
Beitrag # 3 von 9
Beitrag ID: #565750
Bewertung:
(565 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
vielen Dank. So klappt es doch ganz gut ;-)
Ich würde das Script erweitern wollen. Es gibt 12 Begriffe, die in den Textrahmen vorhanden sein können. Das Script soll wie gehabt nach TR "tr_info" suchen.
Wenn das Wort Info drin steht, verschiebe den TR dahin, bei Wort Hinweis an eine anderer Stelle usw.
Muss ich den Teil
Code
{   

app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";

var _findInfo = _tfInfo.findText();

for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");


}


in der kompletten Form 12 mal anlegen oder kann man das Verkürzen?
---
Viele Grüße
Mario


als Antwort auf: [#565741]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4162

23. Aug 2018, 17:00
Beitrag # 4 von 9
Beitrag ID: #565755
Bewertung:
(561 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
wenn Du 12 verschiedene Objektformate je nach Fall zuweisen möchtest, dann ja.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#565750]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

23. Aug 2018, 17:19
Beitrag # 5 von 9
Beitrag ID: #565757
Bewertung:
(554 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
ich habe jetzt diese Version, die soweit funktioniert.
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;


for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {
{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";
var _findInfo = _tfInfo.findText();
for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");
}

{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Hinweis";
var _findInfo = _tfInfo.findText();
for (var a = _findInfo.length-1 ; a >=0 ; a--) {
var _findTR = _findInfo[a];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Hinweis");
}


}
}
}
}

Es findet aber nur einen Textrahmen mit der Bezeichnung tf_info und ändert nur den zuletzt angelegten Textrahmen.
---
Viele Grüße
Mario


als Antwort auf: [#565755]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

23. Aug 2018, 22:44
Beitrag # 6 von 9
Beitrag ID: #565767
Bewertung:
(527 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich muss da noch einmal nachfragen:
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;

for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {

{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Hinweis";
var _findInfo = _tfInfo.findText();
for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.move(undefined, [0, 35]);
_dok.pages.item(0).appliedMaster = _dok.masterSpreads.item("B-Musterseite");
}

Im letzten Schritt soll die Seite mit dem gefundenen Textrahmen eine entsprechende Musterseite zugeordnet werden.
Ich komme mit
Code
dok.pages.item(0).appliedMaster 

Ich muss ja die Seite ansprechen, auf den der TR ist. Wie komme ich die Seite in eine Variable?
---
Viele Grüße
Mario


als Antwort auf: [#565757]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4162

24. Aug 2018, 10:34
Beitrag # 7 von 9
Beitrag ID: #565771
Bewertung:
(491 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
falls der Textrahmen auf einer Seite liegt und nicht draußen auf dem Pasteboard, enthält die Variable parentPage des Textrahmens die Seite. Im anderen Fall ist der Wert null.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#565767]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

22. Sep 2018, 14:25
Beitrag # 8 von 9
Beitrag ID: #566446
Bewertung:
(259 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
kannst Du mir das mal genauer erklären?
---
Viele Grüße
Mario


als Antwort auf: [#565771]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 97

22. Sep 2018, 20:08
Beitrag # 9 von 9
Beitrag ID: #566451
Bewertung:
(236 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
jetzt habe ich es...

Statt
Code
dok.pages.item(0).appliedMaster = _dok.masterSpreads.item("B-Musterseite"); 



so

Code
 _ObjektFormat.parentPage.appliedMaster = _dok.masterSpreads.item("B-Musterseite"); 

---
Viele Grüße
Mario


als Antwort auf: [#566446]
Hier Klicken X

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
17.10.2018

München
Mittwoch, 17. Okt. 2018, 10.31 Uhr

Seminar

Als „Next Generation Publishing“ (NGP) bezeichnen wir bei Cleverprinting eine Arbeitsweise, bei der Druckdaten auf moderne Art produziert werden. Für Photoshop bedeutet dies: Sie arbeiten jederzeit medienneutral mit RGB-Daten, die RGB-CMYK-Konvertierung wird von InDesign erst während der Ausgabe geleistet. Sie arbeiten nichtdestruktiv, alle Bearbeitungsschritte können zu einem späteren Zeitpunkt zurückgenommen/verändert werden. Sie arbeiten verlustfrei, Skalierungen von Bildbestandteilen können mit Smart Objects im Nachhinein verändert werden. Und: Sie arbeiten effizient, indem Sie clevere, schnelle Filter und wo immer möglich auch Skripte zur Automatisierung einsetzen.

München, Mittwoch, 17.10.2018, 9.30 Uhr bic 17.30 Uhr, Schulungsgebühr 415,31 Euro (incl 19% MwSt)

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/schulungen/photoshop-next-generation/

Next Generation Publishing mit Adobe Photoshop
Veranstaltungen
18.10.2018

Online
Donnerstag, 18. Okt. 2018, 20.00 - 21.00 Uhr

Webinar

Den Start ins E-Commerce leicht gemacht

Ja

Organisator: Eric Mächler

Kontaktinformation: E-Mailinfo AT ericmaechler DOT com

https://events.genndi.com/register/818182175026318367/66670f3c07