[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

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 08:35
Beitrag # 46 von 71
Beitrag ID: #567369
Bewertung:
(6815 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Uwe,

gute Idee.

Aber das Ergebnis ist nicht ganz korrekt:
– Seiten mit einem Euro-Betrag sind im 'exportStringArray'. So far, so good.
– Doch die darauffolgende Seite ist eine "schlechte" Seite und sollte nicht aufgelistet sein.

Gruss, Hans


als Antwort auf: [#567365]
X

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5316

6. Nov 2018, 09:55
Beitrag # 47 von 71
Beitrag ID: #567371
Bewertung:
(6799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
die zweite Bedingung lässt sich ja leicht korrigieren.

Was die Geschwindigkeit beim Löschen der Seiten angeht:
Könnte eine Zwischenspeicherung mit "Save As" in der Schleife, die die Seiten löscht, vielleicht helfen? Alle 50 oder 100 Löschvorgänge vielleicht?


als Antwort auf: [#567369]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 10:03
Beitrag # 48 von 71
Beitrag ID: #567373
Bewertung:
(6793 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Antwort auf: die zweite Bedingung lässt sich ja leicht korrigieren.

Leicht? Sooo leicht ist das nicht. Oder?

Ich werde gelegentlich einen "save as"-Versuch machen.

Aber wir sollten schon wissen, ob Armin die InDesign-Datei abliefern muss oder PDF-Dateien.

Gruss, Hans


als Antwort auf: [#567371]

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5316

6. Nov 2018, 10:38
Beitrag # 49 von 71
Beitrag ID: #567375
Bewertung:
(6779 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Hans ] Hallo Uwe,

Antwort auf [ Uwe ] die zweite Bedingung lässt sich ja leicht korrigieren.

Leicht? Sooo leicht ist das nicht. Oder?…


Doch.

Siehe hier, jetzt mal ohne Prüfung, ob die folgende Seite vorhanden ist:

Code
( function() 
{

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;

getPageRangeForExport()

function getPageRangeForExport()
{

app.findTextPreferences.findWhat = "XX,XX";

var doc = app.activeDocument;
var docPagesLength = doc.documentPreferences.pagesPerDocument;
var contentList = doc.findText();

app.findTextPreferences = NothingEnum.nothing;

var docOffsetNumbers = [];
var exportStringArray = [];

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

var docOffsetString = parentPage.documentOffset.toString();
var docOffsetStringFollowingPage = ( parentPage.documentOffset + 1 ).toString();

docOffsetNumbers[ docOffsetString ] = parentPage.id;
docOffsetNumbers[ docOffsetStringFollowingPage ] = doc.pages[docOffsetStringFollowingPage].id;
};

for( var n=0; n<docPagesLength; n++ )
{
if( n.toString() in docOffsetNumbers ){ continue };
exportStringArray[exportStringArray.length++] = "+"+( n+1 );
}

app.pdfExportPreferences.pageRange = exportStringArray.join(",");

};

}() )



als Antwort auf: [#567373]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 11:05
Beitrag # 50 von 71
Beitrag ID: #567379
Bewertung:
(6767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

nein, so klappt es auch nicht.

Mit dem 21-Seiten-Dokument von Armin ergibt das als 'pageRange' nur elf Seiten:
[+1,+4,+7,+10,+13,+14,+15,+16,+17,+18,+19]

Es sollten aber vierzehn Seiten sein:
[+1,+3,+4,+6,+7,+9,+10,+12,+13,+14,+16,+17,+19,+21]

Gruss, Hans


als Antwort auf: [#567375]

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5316

6. Nov 2018, 11:14
Beitrag # 51 von 71
Beitrag ID: #567381
Bewertung:
(6774 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
dann habe ich die zweite Bedingung noch nicht verstanden.

Falls beispielsweise Seite 2 den Ausdruck XX,XX enthält, soll also nicht die nächste Seite mitgelöscht werden?

Bitte um Aufklärung.


als Antwort auf: [#567379]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 11:22
Beitrag # 52 von 71
Beitrag ID: #567383
Bewertung:
(6768 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

das Dokument setzt sich aus vielen (= 573) Folgen von drei Seiten zusammen. Die ersten Seiten sind die Vorderseiten, welche erhalten bleiben.

Auf allen zweiten Seiten enthält derselbe Textrahmen entweder "XX,XX" oder einen Euro-Betrag (z.B."72,48").

Ist es "XX,XX", dann muss diese Seite weg. Bei einem Euro-Betrag muss die nachfolgende Seite entfernt werden.

Gruss, Hans


als Antwort auf: [#567381]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2762

6. Nov 2018, 11:50
Beitrag # 53 von 71
Beitrag ID: #567384
Bewertung:
(6752 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hans,

hier wäre es sicherlich hilfreich, die Preisfelder, unabhängig davon, ob ein Preis oder XX,XX drinsteht mit einem einheitlichen Zeichenformat zu versehen, das würde m. E. nach die Aufgabe stark vereinfachen.


als Antwort auf: [#567383]

script seiten entfernen

Uwe Laubender
Beiträge gesamt: 5316

6. Nov 2018, 13:15
Beitrag # 54 von 71
Beitrag ID: #567385
Bewertung:
(6730 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Hallo Uwe,

nein, so klappt es auch nicht.

Mit dem 21-Seiten-Dokument von Armin ergibt das als 'pageRange' nur elf Seiten:
[+1,+4,+7,+10,+13,+14,+15,+16,+17,+18,+19]

Es sollten aber vierzehn Seiten sein:
[+1,+3,+4,+6,+7,+9,+10,+12,+13,+14,+16,+17,+19,+21]

Gruss, Hans


Hallo Hans,
jetzt ist's mir klar.

Ich würde meinen, dass der exportString für ein ca. 2000-Seiten-Dokument mit der erweiterten Anforderung in unter einer Minute fertiggestellt ist:

Code
( function() 
{

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;

getPageRangeForExport()

function getPageRangeForExport()
{

app.findGrepPreferences = app.changeGrepPreferences = null;
app.findTextPreferences = app.changeTextPreferences = null;

app.findTextPreferences.findWhat = "XX,XX";
app.findGrepPreferences.findWhat = "[0-9]+,[0-9]{2}";

var doc = app.activeDocument;
var docPagesLength = doc.documentPreferences.pagesPerDocument;

var textFindResults = doc.findText();
var textFindResultsLength = textFindResults.length;

var grepFindResults = doc.findGrep();
var grepFindResultsLength = grepFindResults.length;

var docOffsetNumbers = [];
var exportStringArray = [];

// Looping the findText results:
for(var n=0; n<textFindResultsLength; n++)
{
var parentPage = textFindResults[n].parentTextFrames[0].parentPage;
if( parentPage == null ){ continue };

var docOffsetString = parentPage.documentOffset.toString();
docOffsetNumbers[ docOffsetString ] = docOffsetString; // The contents is not important.
};

// Looping the findGrep results:
for(var n=0; n<grepFindResultsLength; n++)
{
var parentPage = grepFindResults[n].parentTextFrames[0].parentPage;
if( parentPage == null ){ continue };

// We want to dismiss the next page:
var docOffsetString = ( parentPage.documentOffset+1 ).toString();
docOffsetNumbers[ docOffsetString ] = docOffsetString; // The contents is not important.
};


// Building the exportStringArray:
for( var n=0; n<docPagesLength; n++ )
{
if( n.toString() in docOffsetNumbers ){ continue };
exportStringArray[exportStringArray.length++] = "+"+( n+1 );
};

app.pdfExportPreferences.pageRange = exportStringArray.join(",");

// $.writeln( exportStringArray.join(",") );

app.findGrepPreferences = app.changeGrepPreferences = null;
app.findTextPreferences = app.changeTextPreferences = null;

};

}() )



als Antwort auf: [#567379]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 13:41
Beitrag # 55 von 71
Beitrag ID: #567386
Bewertung:
(6721 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja, jetzt ist das Ergebnis richtig. Für die 21 Seiten werden die korrekten "guten" Seiten aufgelistet.

Mit dem 1719-Seiten-Dokument dauerte die erste Ausführung 23 Sekunden.
Bei nächsten Mal nur noch sechs. Und bei weiteren Starts nur noch viereinhalb ...

Die Anzahl Elemente des Arrays ist richtig: 1146.

Und jetzt sollte sich nur noch der Armin melden.

Gruss, Hans


als Antwort auf: [#567385]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2762

6. Nov 2018, 19:44
Beitrag # 56 von 71
Beitrag ID: #567388
Bewertung:
(6668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

um noch einmal auf das Thema "Seiten entfernen" zurückzukommen, ich habe jetzt mit den oben genannten unterschiedlichen Methoden eine Reihe von Versuchen gemacht.

Das Ergebnis ist eindeutig:

Im Rahmen des zur Verfügung stehenden Speichers ist das direkte Löschen von Seiten die schnellste Methode.

Ab einer großen Zahl von Seiten gewinnt das Duplizieren von Seiten in eine neue Datei.

Die Anzahl der Seiten hängt sicherlich von der Komplexität der Dateien ab.

Einige Beispielwerte mit einfacher Datenstruktur und virtuellem Window- 10-Pro-Rechner:

Code
300 Seiten: 
benötigte Verarbeitungszeit - Seiten erstellen: Stunden:
18 Sekunden,
394 Millisekunden

benötigte Verarbeitungszeit - jede 3. Seite löschen:
21 Sekunden,
597 Millisekunden

benötigte Verarbeitungszeit - 202 Seiten in eine neues Dokument kopiert:
31 Sekunden,
572 Millisekunden

1200 Seiten:
benötigte Verarbeitungszeit - Seiten erstellen: Stunden:
2 Minuten,
28 Sekunden,
328 Millisekunden

benötigte Verarbeitungszeit - jede 3. Seite löschen:
5 Minuten,
0 Sekunden,
760 Millisekunden

benötigte Verarbeitungszeit - 802 Seiten in eine neues Dokument kopiert:
4 Minuten,
42 Sekunden,
751 Millisekunden

2100 Seiten:
benötigte Verarbeitungszeit - Seiten erstellen: Stunden:
7 Minuten,
9 Sekunden,
817 Millisekunden

benötigte Verarbeitungszeit - jede 3. Seite löschen:
29 Minuten,
18 Sekunden,
146 Millisekunden

benötigte Verarbeitungszeit - 1402 Seiten in eine neues Dokument kopiert:
14 Minuten,
18 Sekunden,
518 Millisekunden



als Antwort auf: [#567386]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

6. Nov 2018, 23:13
Beitrag # 57 von 71
Beitrag ID: #567389
Bewertung:
(6618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

danke für Deine Versuche und das Posten der Ergebnisse.

Aber hier geht es ja um ein spezielles Dokument. Deshalb sollten die Testläufe schon mit der Original-Datei von Armin vorgenommen werden.
Um herauszufinden, ob die 23 Minuten des Seitenentfernens ebenfalls halbiert werden kann.

Und wir wissen immer noch nicht, was Armin abliefern muss (InDesign- oder PDF-Datei).

Gruss, Hans


als Antwort auf: [#567388]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2762

7. Nov 2018, 06:40
Beitrag # 58 von 71
Beitrag ID: #567390
Bewertung:
(6575 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hans,

Antwort auf: Aber hier geht es ja um ein spezielles Dokument. Deshalb sollten die Testläufe schon mit der Original-Datei von Armin vorgenommen werden.


Mag sein, aber mir ging es um die von mir vorgeschlagene Technik.

Aber wenn Dich das Ergebnis mit den von Dir verwendeten Daten interessiert, stelle ich Dir gerne mein Skript als Vorlage zur Verfügung.


als Antwort auf: [#567389]

script seiten entfernen

Hans Haesler
Beiträge gesamt: 5826

7. Nov 2018, 08:17
Beitrag # 59 von 71
Beitrag ID: #567391
Bewertung:
(6558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Werner,

Antwort auf: (...) stelle ich Dir gerne mein Skript als Vorlage zur Verfügung.

Ja, gerne. Allerdings bin ich momentan auf einer anderen Baustelle.
Und ich habe auch noch nicht getestet, ob das von Uwe vorgeschlagene Speichern-unter etwas bringt.

Gruss, Hans


als Antwort auf: [#567390]

script seiten entfernen

WernerPerplies
Beiträge gesamt: 2762

7. Nov 2018, 08:40
Beitrag # 60 von 71
Beitrag ID: #567392
Bewertung:
(6536 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ok, ich schicke Dir einen Link per private mail.


als Antwort auf: [#567391]
X

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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

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? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!