[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

Uwe Laubender
Beiträge gesamt: 5321

29. Okt 2018, 18:20
Beitrag # 16 von 71
Beitrag ID: #567227
Bewertung:
(7492 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: 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?


Nur interessehalber; ist dieser Post auch von Dir?

Script zum Entfernen von Seiten die einen bestimmten Textinhalt haben
ahdesigner Oct 26, 2018
https://forums.adobe.com/...ge/10709468#10709468


als Antwort auf: [#567167]
X

script seiten entfernen

gozreh
Beiträge gesamt: 9

29. Okt 2018, 18:31
Beitrag # 17 von 71
Beitrag ID: #567228
Bewertung:
(7488 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, ist also schon erledigt


als Antwort auf: [#567227]

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5321

29. Okt 2018, 18:33
Beitrag # 18 von 71
Beitrag ID: #567229
Bewertung:
(7486 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm.
Also befinden sich auf den zu löschenden Seiten keine Textrahmen, die mit anderen Rahmen auf anderen Seiten verkettet sind?


als Antwort auf: [#567228]
(Dieser Beitrag wurde von Uwe Laubender am 29. Okt 2018, 18:34 geändert)

script seiten entfernen

gozreh
Beiträge gesamt: 9

29. Okt 2018, 20:36
Beitrag # 19 von 71
Beitrag ID: #567238
Bewertung:
(7463 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
genau, es gibt keine Verketteten Texte, nur Personalisierungen die ich über Datenzusammenführung erstellt habe


als Antwort auf: [#567229]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

30. Okt 2018, 16:20
Beitrag # 20 von 71
Beitrag ID: #567253
Bewertung:
(7390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

soeben entdeckt: Dein Pseudo ist mit einem P ausgezeichnet worden. Herzlichen Dank für die Spende ans Forum! Vorbildlich.

Ich habe Dir per PM die Version 04d zugestellt.

Noch eine Spur schneller, als die Version 03d, weil der Ansatz von Manan Joshi verwendet wird.
Aber im Gegensatz zu seinem Vorschlag, läuft die Schleife rückwärts. Sonst dauert die Ausführung zu lange.

Ich habe Dokumente verschiedenen Umfangs erstellt: 21, 99, 198, 297, 396, 594 und 891 Seiten.
Und insgesamt nahezu 100 Testläufe durchgeführt: A. ohne Massnahmen; B. unsichtbar geöffnet; C. Preflight aus; D. Auffrischung aus; E. Preflight+Auffrischung aus. Für C, D und E wird das Dokument ebenfalls unsichtbar geöffnet.

Die besten Ergebnisse gab es mit E.

*****
@ Werner: Je nach Anzahl Seiten, wirken sich die Massnahmen (unsichtbar geöffnet, Preflight aus, Auffrischung aus) nicht gross aus. Aber je mehr Seiten ein Dokument enthält, desto besser wird eine Geschwindigkeitssteigerung spürbar.
Zum Beispiel: Mit 891 Seiten wird die Ausführungszeit mehr als halbiert (statt 570 nur 258 Sekunden).

Ach ja: Der Fortschrittsbalken ist noch nicht drin.

*****
@ Thomas: Der Preflight ist nicht die vermutete grosse Bremse. Aber sein Ausschalten hilft schon. Unterschiedlich sind die Ergebnisse für das Seiten-Bedienfeld. Erstaunlicherweise ist der Wert öfter besser, wenn es sichtbar ist.

*****
@ Uwe: Im Beitrag #3 findest Du einen WeTransfer-Link zu einem zweiseitigen Dokument. Beides sind Rückseiten (die Vorderseite fehlt). Wenn die erste Rückseite den Euro-Betrag "XX,XX" enthält, dann muss diese Seite entfernt werden. Sind aber Ziffern da (z.B. "72,48"), dann muss die zweite Rückseite gelöscht werden.

Vielleicht stellt Dir Armin sein 21-Seiten-Dokument zur Verfügung.

Danke für den Link zur Diskussion im Adobe-Forum. Ich habe die Idee von Manan Joshi adoptiert. Aber wie schon oben erwähnt: Die Schleife muss rückwärts laufen. Sonst dauert es viel zu lange.

Gruss, Hans


als Antwort auf: [#567238]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

30. Okt 2018, 18:21
Beitrag # 21 von 71
Beitrag ID: #567259
Bewertung:
(7367 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

jetzt habe ich ein Dokument erstellt, welches 1719 Seiten umfasst.

Und die Version 04d des Scripts gestartet. Nach 1696 Sekunden kam die Meldung "Fertig."
Das sind 28 Minuten und 15 Sekunden. Also weniger als die Hälfte der Zeit, welche die Version 02d benötigte.

Gruss, Hans


als Antwort auf: [#567238]

script seiten entfernen

gozreh
Beiträge gesamt: 9

30. Okt 2018, 19:51
Beitrag # 22 von 71
Beitrag ID: #567260
Bewertung:
(7353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du bist der Hammer. Wahnsinn! Danke nochmals


als Antwort auf: [#567259]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

30. Okt 2018, 20:27
Beitrag # 23 von 71
Beitrag ID: #567261
Bewertung:
(7342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

bitte sehr. Und danke für das Kompliment. :-)

Ich werde noch versuchen, einen Fortschrittsbalken einzubauen. Wird nicht einfach sein, weil die Seiten in zwei Sitzungen abgeräumt werden.

Zudem dauert es – bei einem umfangreichen Dokument – nach dem Entfernen der letzten Seite eine schöne Weile, bis InDesign seine "Buchhaltung" nachgeführt hat und wieder ansprechbar ist.

Gruss, Hans


als Antwort auf: [#567260]

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5321

31. Okt 2018, 11:18
Beitrag # 24 von 71
Beitrag ID: #567270
Bewertung:
(7243 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
das Aussortieren der Seiten wegen doppelter Seitennamen würde ich mit einem assoziativen Array machen. Davon abgesehen würde ich das nicht mit den Seitennamen, sondern mit der ID einer Seite versuchen.

Das Löschen geht dann über eine for x in-Schleife mit pages.itemByID(n).remove().
Da braucht nicht darauf geachtet werden, ob rückwärts oder vorwärts.

Könnte mir vorstellen, dass dies die Angelegenheit noch etwas beschleunigt, da die die direkten DOM-Zugriffe möglicherweise minimiert werden.

Hier ein Beispiel, das nur mit "XXX" als gefundener String funktioniert:

Code
( function() 
{

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;

app.doScript
(

removePageIfXXXfound,
ScriptLanguage.JAVASCRIPT,
[],
UndoModes.ENTIRE_SCRIPT,
"Remove Page if XXX Is Found | SCRIPT"

);

function removePageIfXXXfound()
{

app.findTextPreferences.findWhat = "XXX";
var doc = app.activeDocument;
var contentList = doc.findText();

var pageIDArray = [];
var x ;

for(var i = 0 ; i < contentList.length; i++)
{
var parentPage = contentList[i].parentTextFrames[0].parentPage;
if( parentPage == null ){ continue };

pageIDArray[ parentPage.id.toString() ] = parentPage.id ;
};

for( x in pageIDArray )
{
if( doc.pages.length == 1 ){ break };
doc.pages.itemByID( pageIDArray[x] ).remove();
};

app.findTextPreferences = NothingEnum.nothing;

};

}() )



als Antwort auf: [#567261]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

31. Okt 2018, 11:31
Beitrag # 25 von 71
Beitrag ID: #567271
Bewertung:
(7234 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für Deinen Vorschlag. Ich werde ihn übernehmen, um zu prüfen, ob damit eine Beschleunigung herausschaut.

Das Aussortieren von eventuell doppelten Seitennamen hatte ich nur im Anfang drin. Aber als dann klar war, dass keine doppelten Vorkommen möglich sind, habe ich die Prüfung herausgenommen.
In der Version 04d werden auch keine Seitennamen mehr benutzt, sondern die Methode von Hanan.

Gruss, Hans


als Antwort auf: [#567270]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

31. Okt 2018, 17:39
Beitrag # 26 von 71
Beitrag ID: #567277
Bewertung:
(7185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

das Erstellen eines Arrays (statt jedes Mal direkt die Seite zu löschen) bringt tatsächlich etwas.
Mit dem 1719-Seiten-Dokument macht der Unterschied 204 Sekunden aus: Nur noch knapp 25 Minuten.

Anstelle der IDs verwende ich den documentOffset. Damit ist es einfacher, an die nächste Seite zu kommen, welche bei vorhandenen Euro-Beträgen entfernt werden muss.

Zudem habe ich den Code noch etwas vereinfacht. parentPage == null kann es in diesem Dokument nicht geben. Kein Rahmen ist ausserhalb einer Seite.
Und es muss auch nicht jedes Mal geprüft werden, ob das Dokument noch mehr als eine Seite umfasst.

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

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

// die Vorkommen finden und zählen
var xxFound = curDoc.findText();
var nXX = xxFound.length;

// eine Schleife durch die Vorkommen und die Seiten entfernen
var pageArr = [];
for (var n=nXX-1; n>-1; n--) {
pageArr[n] = xxFound[n].parentTextFrames[0].parentPage.documentOffset;
}
for (x in pageArr) {
curDoc.pages[pageArr[x]].remove();
}

Und noch die zweite Aktion zum Entfernen der zweiten Rückseite:

Code
// das Suchmuster vorbereiten 
app.findGrepPreferences.findWhat = "[0-9]+,[0-9]{2}";

// die Vorkommen finden und zählen
var eurFound = curDoc.findGrep();
var nEur = eurFound.length;

// eine Schleife durch die Vorkommen und die Seiten entfernen
var pageArr = [];
for (var n=nEur-1; n>-1; n--) {
pageArr[n] = (eurFound[n].parentTextFrames[0].parentPage.documentOffset)+1;
}
for (x in pageArr) {
curDoc.pages[pageArr[x]].remove();
ctr++;
}

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

Okay, ich weiss, wir sind hier nicht in der Skriptwerkstatt ... :-)

Gruss, Hans


als Antwort auf: [#567270]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

31. Okt 2018, 17:40
Beitrag # 27 von 71
Beitrag ID: #567278
Bewertung:
(7185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

ich habe Dir die Version 05d per PM zugestellt.

Dank der Anregung von Uwe dauert die Ausführung "nur" noch knapp 25 Minuten.

Fortschrittsanzeige: Hatte ich in einer Beta-Version eingefügt. Aber weil das Auffrischen nicht abgestellt werden darf – sonst sieht man den Dialog nicht – dauert die Ausführung viel länger. Deshalb kommt die Version 05d noch ohne aus.

Gruss, Hans


als Antwort auf: [#567260]

script seiten entfernen

gozreh
Beiträge gesamt: 9

1. Nov 2018, 09:18
Beitrag # 28 von 71
Beitrag ID: #567285
Bewertung:
(7135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen lieben Dank, Hans


als Antwort auf: [#567278]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

4. Nov 2018, 17:29
Beitrag # 29 von 71
Beitrag ID: #567341
Bewertung:
(7061 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

bitte sehr. Ich habe Dir soeben per PM die Version 06d zugestellt.

Jetzt mit einer Fortschritts-Anzeige, welche die Ausführung nicht verlängert.

Das Script erzeugt einen Ordner auf dem Schreibtisch und benennt ihn mit dem Ausgangswert der Seiten, welche abgeräumt werden müssen. Per Countdown ändert diese Zahl jedes Mal, wenn eine Seite weg ist.

Also:
– Script starten;
– Umschalten auf den Schreibtisch.

Seit Jahren benutze ich dazu die Option "Aktive Ecke" der "Mission Control": Den Mauszeiger in die Ecke oben rechts bewegen – alle Fenster werden ausgeblendet und der Schreibtisch ist sichtbar.

Jetzt kann man sehen, dass die ersten hundert Seiten relativ schnell fort sind. Aber dann verlangsamt sich die Ausführung. Siehe den angehängten Screen-shot ("Kurve.png").

Gruss, Hans


als Antwort auf: [#567285]
Anhang:
Kurve.png (72.5 KB)

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2770

4. Nov 2018, 18:11
Beitrag # 30 von 71
Beitrag ID: #567343
Bewertung:
(7047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

nur mal so als Idee:

Wenn die Datenmenge für die Geschwindigkeit solch eine große Bedeutung hat, könnte man dann nicht die Datei temporär teilen und nach Ausführung der Arbeit wieder zusmmenfügen?

Ich habe allerdings keine Ahnung, wie groß der Aufwand dafür wäre.


als Antwort auf: [#567341]
X

Aktuell

Farbmanagement
impressed_300

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
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow