[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Musterseite auf leere Seite anwenden (WIN CS4 JS)

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

Musterseite auf leere Seite anwenden (WIN CS4 JS)

cwenet
Beiträge gesamt: 1082

9. Apr 2010, 13:01
Beitrag # 1 von 5
Bewertung:
(1909 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

folgendes Script habe ich mir schon zusammengebaut. In Abhängigkeit eines Absatzformates wird eine bestimmte Musterseite zugwiesen.

Code
var myDocument = app.activeDocument;  
//clear the find/change text preferences
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
//Set the find options.
app.findChangeTextOptions.caseSensitive = false;
app.findChangeTextOptions.includeFootnotes = false;
app.findChangeTextOptions.includeHiddenLayers = false;
app.findChangeTextOptions.includeLockedLayersForFind = false;
app.findChangeTextOptions.includeLockedStoriesForFind = false;
app.findChangeTextOptions.includeMasterPages = false;
app.findChangeTextOptions.wholeWord = false;
app.findTextPreferences.appliedParagraphStyle = "U1";

app.findTextPreferences.findWhat = '';
var myFound = app.activeDocument.findText();

for( var n = myFound.length-1; n >= 0; n-- ) {
//alert(myFound[n].parentTextFrames[0].parent.name);
var myPage = myFound[n].parentTextFrames[0].parent.name;
myDocument.pages.item(myPage).appliedMaster = myDocument.masterSpreads.item("B-vakat");

//alert(myFound[n].contents);
}


1. Nun möchte ich dies auch für leere Seiten tun. Wie finde ich den leere Seiten per Script? Denn die angeblich leeren Seiten haben jeweils einen Textrahmen mit einem Umbruchzeichen?

2. Wie kann ich den Abschnittsanfang zuweisen?

Grüße Christoph
X

Musterseite auf leere Seite anwenden (WIN CS4 JS)

Martin Fischer
  
Beiträge gesamt: 12685

9. Apr 2010, 13:19
Beitrag # 2 von 5
Beitrag ID: #438824
Bewertung:
(1900 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

Antwort auf: 1. Nun möchte ich dies auch für leere Seiten tun. Wie finde ich den leere Seiten per Script?
Denn die angeblich leeren Seiten haben jeweils einen Textrahmen mit einem Umbruchzeichen?


Eine leere Seite ist eine Seite ohne Seitenobjekte.
Du suchst nicht nach einer leeren Seite, sondern nach einer Seite, in deren Textrahmen kein Text enthalten ist. Richtig?

Dann prüfe den Inhalt der betroffenen Textrahmen, ob etwas übrig bleibt, wenn alle Weißräume (inklusive Absatz- und Zeilenschaltungen) abgezogen werden:
Code
if (my_textframe.contents.replace(/\s+/g,'').length == 0) 



Antwort auf: 2. Wie kann ich den Abschnittsanfang zuweisen?


Finde heraus, was für Eigenschaften eine section hat.
Dort liegt die Antwort.


als Antwort auf: [#438822]
(Dieser Beitrag wurde von Martin Fischer am 9. Apr 2010, 13:26 geändert)

Musterseite auf leere Seite anwenden (WIN CS4 JS)

cwenet
Beiträge gesamt: 1082

9. Apr 2010, 14:30
Beitrag # 3 von 5
Beitrag ID: #438831
Bewertung:
(1862 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

ich habe das hier versucht:
Code
for( var n=0; n<myFound.length; n++ ) { 
var myPage = myFound[n].parentTextFrames[0].parent.name;
myDocument.sections.add(undefined,undefined,{pageStart:myPage, continueNumbering:false, pageNumberStart:(myPage)});
}


Was genau hier passiert, verstehe ich nicht.
Fehlermeldung:
Nach dem letzten Abschnitt ist keine Seite im Dokument verfügbar.
Es muss ein Seitenstartwert angegeben werden.

Es wird nur die letzte Seite als Abschnittanfang markiert.

Hast Du noch eine iDee?

Gruss Christoph


als Antwort auf: [#438824]

Musterseite auf leere Seite anwenden (WIN CS4 JS)

Martin Fischer
  
Beiträge gesamt: 12685

9. Apr 2010, 15:07
Beitrag # 4 von 5
Beitrag ID: #438839
Bewertung:
(1853 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
pageStart erwartet ein Objekt Page, nicht den Namen einer Seite (var myPage = myFound[n].parentTextFrames[0].parent.name;).

Versuch's mal ohne name.

Wie kommst Du auf die undefined?
Ich finde Section add ([reference: Page].
Also so etwas wie myDocument.sections.add(myFound[n].parentTextFrames[0].parent).


als Antwort auf: [#438831]

Musterseite auf leere Seite anwenden (WIN CS4 JS)

cwenet
Beiträge gesamt: 1082

11. Apr 2010, 11:13
Beitrag # 5 von 5
Beitrag ID: #438902
Bewertung:
(1796 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank. Die section wird jetzt richtig zugewiesen.

Zu. 1.
Hier habe ich folgendes konstruiert:
Code
var myDocument = app.activeDocument;  

var myStory = app.selection[0].parentStory;
var allFrames = myStory.textContainers;

var nFrames = allFrames.length;

for (var f=0; f<nFrames; f++) {

var myPage = allFrames[f].parent.name;

if (allFrames[f].contents.replace(/\s+/g,'').length == 0)
myDocument.pages.item(myPage).appliedMaster = myDocument.masterSpreads.item("C-Mustervorlage");
}


Sieht, glaube ich, gut aus?

Gruss
Christoph


als Antwort auf: [#438839]
(Dieser Beitrag wurde von cwenet am 11. Apr 2010, 11:15 geändert)
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/