[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: 99

22. Aug 2018, 23:30
Beitrag # 1 von 9
Bewertung:
(678 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
Hier Klicken X

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4165

23. Aug 2018, 10:43
Beitrag # 2 von 9
Beitrag ID: #565741
Bewertung:
(654 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: 99

23. Aug 2018, 16:15
Beitrag # 3 von 9
Beitrag ID: #565750
Bewertung:
(630 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: 4165

23. Aug 2018, 17:00
Beitrag # 4 von 9
Beitrag ID: #565755
Bewertung:
(626 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: 99

23. Aug 2018, 17:19
Beitrag # 5 von 9
Beitrag ID: #565757
Bewertung:
(619 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: 99

23. Aug 2018, 22:44
Beitrag # 6 von 9
Beitrag ID: #565767
Bewertung:
(592 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: 4165

24. Aug 2018, 10:34
Beitrag # 7 von 9
Beitrag ID: #565771
Bewertung:
(556 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: 99

22. Sep 2018, 14:25
Beitrag # 8 von 9
Beitrag ID: #566446
Bewertung:
(324 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: 99

22. Sep 2018, 20:08
Beitrag # 9 von 9
Beitrag ID: #566451
Bewertung:
(301 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]
X
Hier Klicken

Aktuell

Aktuell
PDF_korrekturen_300

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
25.10.2018

Hamburg
Donnerstag, 25. Okt. 2018, 10.39 Uhr

Seminar

Viele Funktionen, für die früher Illustrator benötigt wurde, finden sich heute auch in InDesign. Angefangen bei den Pfadwerkzeugen, mit denen sich Linien und Bezier-Pfade zeichnen lassen, über die regulären Zeichenwerkzeuge für Rahmen und Linien bis hin zum Pathfinder, der Vektorobjekte zerschneiden, verbinden und kombinieren kann: InDesign bietet eine Vielzahl von Vektorgrafik-Werkzeugen, mit denen sich auch komplexe Vektorgrafiken erstellen lassen.

München, Donnerstag, 25.10.2018, Seminargebühr 415,31 (inkl. 19% MwSt), 9.30 Uhr bis 17.30 Uhr

Ja

Organisator: Cleverprinting

Vektorgrafik mit Adobe InDesign und Illustrator
Veranstaltungen
25.10.2018

Schule für Gestaltung Zürich
Donnerstag, 25. Okt. 2018, 17.00 - 19.30 Uhr

Seminar

Folgenden Fragen gehe ich – gemeinsam mit Ihnen – während des Seminars auf den Grund: – Sind heutige Farbsysteme auf crossmediale Ausgaben ausgerichtet? – Wie definiert man Farben für den Einsatz in Office- und Direktmarketing-Softwaren? – Welche Farb-Definitionen muss ein heutiges, crossmediales Corporate-Design beinhalten? – Braucht es dazu neue Systeme und Workflows? – Existieren Hilfsmittel für den crossmedialen Datenaustausch (freieFarbe)? – Ist CMYK in heutigen digitalen Produktionen noch sinnvoll und von Vorteil? – Was ist qualitativ besser – verfahrensangepasst oder ausgabeneutral?

Donnerstag, 25. Oktober 2018, von 17.00 Uhr bis 19.30 Uhr
mit anschliessendem Apéro

viscom-Mitglied: Kostenlos
Nichtmitglied: CHF 250.00, zuzüglich MwSt.

Ja

Organisator: viscom

http://www.viscom.ch/?name=agenda&veranstaltungid=854&datum=25.10.2018&suche=1