[GastForen Programme Print/Bildbearbeitung Adobe InDesign script seiten entfernen

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

script seiten entfernen

gozreh
Beiträge gesamt: 9

26. Okt 2018, 21:00
Beitrag # 1 von 70
Bewertung:
(926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich suche ein script für indesign mit dem man Seiten, auf denen sich ein bestimmter Text "XXX" befindet komplett aus dem Indesign Dokument gelöscht werden.

Kann mir jemand helfen?
X

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

27. Okt 2018, 08:42
Beitrag # 2 von 70
Beitrag ID: #567169
Bewertung:
(854 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo gozreh,

herzlich willkommen im InDesign-Forum! :-)

Das Lösen Deiner Aufgabe sollte keinen grossen Aufwand erfordern.

Doch wünschenswert ist, nähere Angaben zu bekommen: Die Version von InDesign, Mac OS X oder Windows? Und – vor allem – ein Musterdokument: Sind es Doppelseiten? Wenn ja: behalten die nicht entfernten Seiten ihren Platz oder rutschen sie nach? Ist der Text alleine in einem Textrahmen? Und so weiter.

Also: Bitte ein Dokument zur Verfügung stellen.

Gruss, Hans


als Antwort auf: [#567167]
(Dieser Beitrag wurde von Hans Haesler am 27. Okt 2018, 08:52 geändert)

script seiten entfernen

gozreh
Beiträge gesamt: 9

27. Okt 2018, 10:43
Beitrag # 3 von 70
Beitrag ID: #567171
Bewertung:
(831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
es sind Einzelseiten in Indesign CC am Mac.
Generell gibt es 2 Varianten der Rückseite eine Postkarte. Bei Personen bei denen ein Betrag XX,XX auf der Seite in der Textbox steht, soll die komplette Seite entfernt werden.

Ich habe mal das Dokument hochgeladen
https://we.tl/t-IjVKqkGytx


als Antwort auf: [#567169]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

27. Okt 2018, 11:10
Beitrag # 4 von 70
Beitrag ID: #567172
Bewertung:
(817 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo gozreh,

versuche es bitte mal mit diesem Script. Die gebrauchsfertige Datei ist unten angehängt.

Code
//SeitenEntfernen_01d.js 
//© 27.10.2018 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
//DESCRIPTION:Markierte Seiten entfernen

// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.", "Achtung");
exit();
}

// aktuelles Dokument
var curDoc = app.documents[0];

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findTextPreferences = app.changeTextPreferences = null;

// das Suchmuster vorbereiten
app.findTextPreferences.findWhat = "XX,XX";

// die Vorkommen finden und zählen
var allFound = curDoc.findText();
var nFound = allFound.length;
var namesArr = [];

// eine Schleife durch die Vorkommen und die Seitennamen auflisten
for (var n=0; n<nFound; n++) {
var curName = allFound[n].parentTextFrames[0].parentPage.name;
var isInArr = checkName(namesArr, curName);
if (!isInArr) {
namesArr.push(curName);
}
}

// den Array sortieren ...
namesArr.sort(numSort);
// ... umkehren ...
namesArr.reverse();
// ... und zählen
var nNames = namesArr.length;

// die Seiten entfernen
for (var p=0; p<nNames; p++) {
try {
curDoc.pages.itemByName(namesArr[p]).remove();
}
catch (e) {
}
}

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findTextPreferences = app.changeTextPreferences = null;

// das Ende der Aktion verkünden
//alert ("Fertig.", "");
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(999);
// das Fenster schliessen
dlog.close();

// diese Funktion prüft, ob sich der Name schon im Array befindet
function checkName(namesArr, curName) {
for (var n=0; n<namesArr.length; n++) {
if (namesArr[n] == curName) {
return true;
}
}
return false;
}

// die Funktion, welche Zahlen-Strings sortiert
function numSort(a, b) {
return a - b;
}

Hier funktioniert es wie erwartet. Hoffe, es klappt bei Dir auch.

Gruss, Hans


als Antwort auf: [#567171]
Anhang:
SeitenEntfernen_01d.zip (1.11 KB)

script seiten entfernen

gozreh
Beiträge gesamt: 9

27. Okt 2018, 11:25
Beitrag # 5 von 70
Beitrag ID: #567174
Bewertung:
(811 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

wow! Es funktioniert. Vielen, vielen Dank für Deine Hilfe!

Gruß Armin


als Antwort auf: [#567172]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

27. Okt 2018, 11:49
Beitrag # 6 von 70
Beitrag ID: #567175
Bewertung:
(799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

bitte sehr. Super, dass es auf Anhieb klappte.

Wenn die Dokumente je nur zwei Seiten umfassen, dann macht das Script ein paar Aktionen umsonst. Ist aber nicht weiter schlimm.

Ich bin gerade unterwegs. Werde mich im Laufe des Nachmittags per PM bei Dir melden.

Gruss, Hans


als Antwort auf: [#567174]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

28. Okt 2018, 20:55
Beitrag # 7 von 70
Beitrag ID: #567194
Bewertung:
(709 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

beim privaten Austausch mit Armin wurden meine Vermutungen bestätigt:
– Wenn die erste Seite nicht "XX,XX" enthält, sondern einen Euro-Betrag: Die zweite Seite entfernen.
– Das Dokument besteht aus mehr als zwei Seiten. Wieviel? Deren 600 !!!...

Als hiess es, das Script ergänzen. Eine gebrauchsfertige Datei ist unten angehängt.

Code
//SeitenEntfernen_02d.js 
//© 28.10.2018 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
//DESCRIPTION:Markierte Seiten entfernen

// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.", "Achtung");
exit();
}

// aktuelles Dokument
var curDoc = app.documents[0];

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findTextPreferences = app.changeTextPreferences = null;

// zuerst die "XX,XX" //////////////////////////////////////////////
// das Suchmuster vorbereiten
app.findTextPreferences.findWhat = "XX,XX";

// die Vorkommen finden und zählen
var allFound = curDoc.findText();
var nFound = allFound.length;
var namesArr = [];

// eine Schleife durch die Vorkommen und die Seitennamen auflisten
for (var n=0; n<nFound; n++) {
var curName = allFound[n].parentTextFrames[0].parentPage.name;
var isInArr = checkName(namesArr, curName);
if (!isInArr) {
namesArr.push(curName);
}
}

// den Array sortieren ...
namesArr.sort(numSort);
// ... umkehren ...
namesArr.reverse();
// ... und zählen
var nNames = namesArr.length;

// die Seiten entfernen
for (var p=0; p<nNames; p++) {
try {
curDoc.pages.itemByName(namesArr[p]).remove();
}
catch (e) {
}
}

// und nun die Seiten mit einem Betrag /////////////////////////////
// das Suchmuster vorbereiten
app.findGrepPreferences.findWhat = "[0-9]+,[0-9]{2}";

// die Vorkommen finden und zählen
var allFound = curDoc.findGrep();
var nFound = allFound.length;
var namesArr = [];

// eine Schleife durch die Vorkommen und die Seitennamen auflisten
for (var n=0; n<nFound; n++) {
var curName = allFound[n].parentTextFrames[0].parentPage.name;
var nxtName = ""+((curName*1)+1);
var isInArr = checkName(namesArr, nxtName);
if (!isInArr) {
namesArr.push(nxtName);
}
}

// den Array sortieren ...
namesArr.sort(numSort);
// ... umkehren ...
namesArr.reverse();
// ... und zählen
var nNames = namesArr.length;

// die Seiten entfernen
for (var p=0; p<nNames; p++) {
try {
curDoc.pages.itemByName(namesArr[p]).remove();
}
catch (e) {
}
}

// die Suchen/Ersetzen-Vorgaben zurücksetzen
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findTextPreferences = app.changeTextPreferences = null;

////////////////////////////////////////////////////////////////////
// das Ende der Aktion verkünden
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(999);
// das Fenster schliessen
dlog.close();

////////////////////////////////////////////////////////////////////
// diese Funktion prüft, ob sich der Name schon im Array befindet
function checkName(namesArr, curName) {
for (var n=0; n<namesArr.length; n++) {
if (namesArr[n] == curName) {
return true;
}
}
return false;
}

////////////////////////////////////////////////////////////////////
// die Funktion, welche Zahlen-Strings sortiert
function numSort(a, b) {
return a - b;
}

Zuerst werden – wie gehabt – die Seiten entfernt, in welchen "XX,XX" enthalten ist.
Dann wird ein Grep-Suchstring definiert (und angewendet), mit welchem Beträge ab 0,01 gefunden werden. Nach oben unbegrenzt. Wieder werden die Seitenzahlen ermittelt. Aber jede wird um eins erhöht, weil die nächste Seite entfernt werden muss.

Gruss, Hans


als Antwort auf: [#567174]
(Dieser Beitrag wurde von Hans Haesler am 28. Okt 2018, 20:57 geändert)

Anhang:
SeitenEntfernen_02d.zip (1.23 KB)

script seiten entfernen

gozreh
Beiträge gesamt: 9

29. Okt 2018, 00:03
Beitrag # 8 von 70
Beitrag ID: #567196
Bewertung:
(682 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hans hat ein prima Script geschrieben. Ich habe es gerade nochmal getestet. Das Ausgangsdokument hat 1719 Seiten !!!!
Lief bei mir in Indesign ca. 1 Stunde. Habe mich nicht von dem drehenden "Glücksrad" in Indesign verunsichern lassen, sondern habe einfach abgewartet.


als Antwort auf: [#567194]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

29. Okt 2018, 08:59
Beitrag # 9 von 70
Beitrag ID: #567203
Bewertung:
(621 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

hast Du aber eine Ausdauer und eine Zuversicht! Ich hätte die Übung schon nach fünf Minuten abgebrochen und dem Hans geschrieben, dass sein Script nichts taugt ...

Um die Ausführung etwas zu beschleunigen, könnte das Script zu Beginn das Dokument schliessen und gleich wieder öffnen, aber unsichtbar. Wenn zusätzlich das Auffrischen der Bildschirmanzeige abgestellt und der Preflight deaktiviert wird, sollte die Ausführung spürbar schneller sein.

Ich werde zunächst ein Testdokument mit 99 Seiten erzeugen und dann das Script erweitern. Bis später.

Gruss, Hans


als Antwort auf: [#567196]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

29. Okt 2018, 10:11
Beitrag # 10 von 70
Beitrag ID: #567207
Bewertung:
(600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

Zwischenbericht:
Zusätzlich zu den schon genannten Massnahmen wird in der Version 03d darauf verzichtet, bei jedem Vorkommen zu prüfen, ob sich die aktuelle Seitenzahl schon im Array befindet.

Aktuelle Version 02d: Mit den 99 Seiten dauert die Ausführung knapp sechs Sekunden: 5.895

Erweiterte Version 03d: Die Meldung kommt nur eine knappe Sekunde früher: 5.003
Die erhoffte Halbierung ist es also bei weitem nicht ...

Doch sehr wahrscheinlich wird sich mit einer höheren Anzahl Seiten eine grössere Differenz ergeben. Zunächst werde ich ein Dokument mit 891 Seiten fabrizieren. Aber den Test kann ich erst nachmittags starten.

Gruss, Hans


als Antwort auf: [#567196]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2263

29. Okt 2018, 10:27
Beitrag # 11 von 70
Beitrag ID: #567208
Bewertung:
(592 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

wie wäre es mit einem Progressbar, dann weiß der Anwender, dass das Skript etwas Sinnvolles macht.

Geht natürlich wieder etwas auf Kosten der Geschwindigkeit.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#567207]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

29. Okt 2018, 10:42
Beitrag # 12 von 70
Beitrag ID: #567209
Bewertung:
(582 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

ja, daran habe ich auch schon gedacht. Aber erst nachdem der enorme Umfang des Dokuments bekannt wurde ...

Doch zunächst will ich – durch sukzessives Erhöhen der Anzahl Seiten – erforschen, was das unsichtbare Öffnen des Dokuments bringt.

Gruss, Hans


als Antwort auf: [#567208]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2263

29. Okt 2018, 10:47
Beitrag # 13 von 70
Beitrag ID: #567210
Bewertung:
(577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Zitat Doch zunächst will ich – durch sukzessives Erhöhen der Anzahl Seiten – erforschen, was das unsichtbare Öffnen des Dokuments bringt.


Ich habe solch eine Funktion in der Hoffnung auf eine große Geschwindigkeitssteigerung in meinen Projektmanager eingebaut, aber das Ergebnis hat mich eher enttäuscht.

Ich wünsche Dir mehr Erfolg!

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#567209]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5659

29. Okt 2018, 11:08
Beitrag # 14 von 70
Beitrag ID: #567211
Bewertung:
(554 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

danke für Deinen Wunsch. :-)

Ja, grosse Erwartungen habe ich auch nicht. Aus Erfahrung weiss ich aber, dass es doch etwas bringt.

Und manchmal hilft sogar das (manuelle) Schliessen eines Bedienfelds (z.B. Seiten oder Farbfelder).

Gruss, Hans


als Antwort auf: [#567210]

script seiten entfernen

Thomas Richard
Beiträge gesamt: 17907

29. Okt 2018, 12:48
Beitrag # 15 von 70
Beitrag ID: #567213
Bewertung:
(507 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Und manchmal hilft sogar das (manuelle) Schliessen eines Bedienfelds (z.B. Seiten oder Farbfelder).

Gerade das Seitenbedienfeld würde ich hier als Problemkandiaten sehen, da es sich bei der Löscherei und evtl. bereits bei der Auswahl der betreffenden Kandidaten zu Tode aktualisiert.

Das übelste ist aber in der Regel das aktivierte Preflight, das bei jedem Eingriff meint, unverzüglich alles erneut prüfen zu müssen.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/


als Antwort auf: [#567211]
X
Hier Klicken

Aktuell

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
16.11.2018

München
Freitag, 16. Nov. 2018, 09.30 - 17.00 Uhr

Workshop

Hochwertig umsetzen, sicher beurteilen: Im Fokus dieses Vertiefungs-Workshops steht Ihre eigene Design-Leistung. Der Praxis-Workshop bietet Profis wertvolle Tipps zu Detail- und Lesetypografie im Kommunikationsdesign. Vom Arbeiten mit halben Leerzeilen im Grundlinienraster über lückenlosen Blocksatz bis zur stilistisch richtigen Schriftmischung: Sie kennen das Handwerk, dieser Workshop macht Sie zum Meister.

Ein-Tages-Workshop von 9:30 bis 17 Uhr
Während des Workshops stehen jedem Teilnehmer ein iMac + Adobe CC zur Verfügung.
Max. 8 Teilnehmer
Normalpreis: € 281,51 netto (€ 335,– brutto)
Ermäßigung: € 239,50 netto (€ 285,– brutto),

Ja

Organisator: TypeSCHOOL

Kontaktinformation: Uwe Steinacker, E-Mailsteinacker AT typeschool DOT de

www.typeschool.de

Detail-Typografie und Layout im Kommunikationsdesign zur Vertiefung
Veranstaltungen
22.11.2018

In dieser Veranstaltung kombinieren wir Emotion und Ratio, Gestaltung und Rechtschreibung.

Hochschule der Medien, Stuttgart
Donnerstag, 22. Nov. 2018, 18.00 - 20.00 Uhr

Vortrag

Sven Tillack und Steffen Knöll vom mehrfach ausgezeichneten "Studio Tillack Knoell", Stuttgart, (studiotillackknoell.com) geben einen Einblick in die Arbeit in der visuellen Kommunikation. Ihr Arbeitsfeld ist digitales und analoges, von visuellen Erscheinungsbildern bis hin zu kommunizierender Grafik im Raum. Besondere Erfahrungen hat Sven bei der Arbeit mit Risographie gemacht, Steffen setzt sich seit längerem mit Grafik im Raum auseinander. Auch über diese Projekte werden sie berichten. Lasst euch von ihnen, ihrem Vortrag und ihrer Arbeit inspirieren. Etienne Roth ist Computerlinguist. Er hat die Duden-Korrekturlösungen bereits als Projektleiter und Produktmanager beim Dudenverlag mitentwickelt. Bei EPC betreut er das Lexikon und die Grammatik(fehler)analyse der Korrekturengine. Außerdem ist er Produktmanager für die Duden-Integration in Adobe InDesign. Bei EPC werden die professionellen Duden-Korrekturlösungen weiterentwickelt, vertrieben und gewartet. Dazu gehören Rechtschreib- und Grammatikkorrektur, Stilprüfung und Thesaurus sowie Werkzeuge zur Wörterbuchpflege, lokal und in Netzwerkumgebungen. Die Duden-Rechtschreibprüfung und Silbentrennung sind seit Version 13 (CC 2018) ein integraler Teil von Adobe InDesign. Viele Kunden vermissen aber die bewährte Grammatikprüfung. Der Duden Korrektor CC bringt die beste Grammatikprüfung für die deutsche Sprache zurück nach InDesign und InCopy. Er enthält außerdem die Stilprüfung und den Thesaurus von Duden. Verlosung: Wir verlosen wieder Software, Bücher und Fachzeitschriften im Wert von über 1000 Euro. Neben dem bekannten "CC-Abo für ein Jahr" nun auch ein "Foto-Abo für ein Jahr mit 1 TB Speicher" und brandneu "10 Bilder pro Monat von Adobe Stock für ein Jahr". Die Firma EPC verlost eine Lizenz "Duden Korrektor CC"! Mach Werbung und bring gerne Freunde und Kollegen mit! Wir freuen uns auf Dich. Katharina Frerichs und Christoph Steffens

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

idugs51.eventbrite.com