[GastForen Programme Print/Bildbearbeitung Adobe InDesign RecordFindChange.jsx unter CS3

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

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 13:50
Beitrag # 1 von 21
Bewertung:
(14544 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Für das Ersetzen per Grep habe ich ein Zeichenformat bold angelegt. Hier ist der einzigste Eintrag "75 bold". Das Format "bold" habe ich dann im Ersetzendialog von GREP angegeben und das Skript gestartet.

Ich hätte jetzt erwartet das in der erzeugten Textdatei unter "Change properties:"
ein Eintrag wie appliedCharacterStyle:"75 bold" oder so ähnlich steht.
Finden tut sich aber nur appliedCharacterStyle:""

1. Läuft das Skript richtig unter CS3? (Bei den anderen Werten stehen teilweise längere Nummern die ich in keinen Zusammenhang bringen kann)

2. Falls es richtig läuft, was habe ich falsch gemacht, das mein Wert nicht ausgelesen wurde?

Im Anhang noch meine erzeugte Textdatei.

Anhang:
VersuchRecordFindChange (5.65 KB)
X

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 14:00
Beitrag # 2 von 21
Beitrag ID: #355697
Bewertung:
(14535 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ohne es geprüft zu haben, wage ich zu behaupten, dass es unter CS3 nicht zuverlässig laufen kann.

Dieses Skript wertet Einstellungen der SearchEngine von CS2 aus.
Diese SearchEngine hat sich unter CS3 grundlegend geändert – was man ja auch an der Oberfläche deutlich erkennen kann: aus einem Suchtyp wurden vier gemacht (Text, GREP, Glyphe, Objekt).

appliedCharacterStyle meint das Zeichenformat.
Der Schriftschnitt wird mit fontStyle angesprochen.


als Antwort auf: [#355692]

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 14:11
Beitrag # 3 von 21
Beitrag ID: #355703
Bewertung:
(14528 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: appliedCharacterStyle meint das Zeichenformat. Der Schriftschnitt wird mit fontStyle angesprochen.


Ich hatte das so verstanden, das ich im Ersetzendialog mein Format eingebe und das das dann auch als Format ausgelesen wird. Daher erscheint mir CharacterStyle der richtige Parameter, oder?


als Antwort auf: [#355697]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 14:50
Beitrag # 4 von 21
Beitrag ID: #355715
Bewertung:
(14509 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kai,

bitte teste mal die an CS3 angepasste Version.
Ich habe die Eigenschaften außerdem senkrecht (statt fortlaufend durch Komma getrennt) angeordnet.
Schließlich habe ich die Ziffer für undefined und ein paar andere für diese Zwecke uninteressante Dinge rausgefiltert.

Es werden die Eigenschaften von TEXT und GREP aufgezeichnet.

Code
//RecordFindChange_CS3.js  
//An InDesign CS3 JavaScript
//Writes the current find/change preferences to a text file so that you can copy/paste
//them into a find/change list file.

String.prototype.cleanProps = function ()
{
var s = this;
s = s.replace(/, /g,'\r');
s = s.replace(/\({/g,'');
s = s.replace(/}\)/g,'');
s = s.replace(/1851876449/g,'');
s = s.replace(/\"\"/g,'');
s = s.replace(/parent:resolve\(\"\/\"\)/g,'');
return s;
}


var myResult;
var myFindTextProperties = app.findTextPreferences.properties;
var myChangeTextProperties = app.changeTextPreferences.properties;
myFindTextProperties = myFindTextProperties.toSource().cleanProps();
myChangeTextProperties = myChangeTextProperties.toSource().cleanProps();

var myFindGrepProperties = app.findGrepPreferences.properties;
var myChangeGrepProperties = app.changeGrepPreferences.properties;
myFindGrepProperties = myFindGrepProperties.toSource().cleanProps();
myChangeGrepProperties = myChangeGrepProperties.toSource().cleanProps();

var myFile = myGetFileName();
if(myFile!=""){
//Open the file for writing.
myResult = myFile.open("w", undefined, undefined);
if(myResult != false){
myFile.writeln("//FindTextProperties:");
myFile.writeln(myFindTextProperties);
myFile.writeln("\r//ChangeTextProperties:");
myFile.writeln(myChangeTextProperties);
myFile.writeln("\r\r\r//FindGrepProperties:");
myFile.writeln(myFindGrepProperties);
myFile.writeln("\r//ChangeGrepProperties:");
myFile.writeln(myChangeGrepProperties);
myFile.close();
}
}
function myGetFileName(){
if(File.fs != "Macintosh"){
//Filter files by extension.
var myFile = File.saveDialog("Save Text File As:", "Text Files:*.txt;All Files:*")
}
else{
var myFile = File.saveDialog("Save Text File As:")
}
return myFile;
}



als Antwort auf: [#355703]
(Dieser Beitrag wurde von Martin Fischer am 25. Jun 2008, 14:58 geändert)

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 15:19
Beitrag # 5 von 21
Beitrag ID: #355729
Bewertung:
(14494 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier noch eine etwas überarbeitete cleanProps()-function (quick & dirty) für eine etwas kompaktere Darstellung der tatsächlich genutzten Suche/Ersetze Einstellungen.


Code
String.prototype.cleanProps = function ()  
{
var s = this;
s = s.replace(/, /g,'\r');
s = s.replace(/\({/g,'');
s = s.replace(/}\)/g,'');
s = s.replace(/[\w]+:1851876449/g,'');
s = s.replace(/[\w]+:\"\"/g,'');
s = s.replace(/[\w]+:null/g,'');
s = s.replace(/\r\r+/g,'\r');
s = s.replace(/\"\"/g,'');
s = s.replace(/parent:resolve\(\"\/\"\)/g,'');
return s;
}


Kann mir jemand einen sichereren GREP-Ausdruck zum Löschen einer ganzen Zeile, in der am Ende '1851876449' steht, nennen als diesen etwas unsauberen Ausdruck:
Code
[\w]+:1851876449 


Vor der genannten Zahl gibt es nur ein paar Buchstaben, keine Zahlen oder Leerräume oder Sonderzeichen und genau einen Doppelpunkt vor der Zahl.


als Antwort auf: [#355715]
(Dieser Beitrag wurde von Martin Fischer am 25. Jun 2008, 15:32 geändert)

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 18:09
Beitrag # 6 von 21
Beitrag ID: #355759
Bewertung:
(14454 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: als diesen etwas unsauberen Ausdruck:


Welche Bedenken hast du damit?

Dein Grep sucht alle Wortzeichen direkt gefolgt von dem ":" und der Zahl. Da du keine Leerzeichen, Sonderzeichen u. Zahlen drin hast findet er also die ganze Zeile. Er würde die Zahl natürlich auch finden, wenn doch mal mehr in der Zeile steht als nur ein Wort.

Ist das das Problem?


als Antwort auf: [#355729]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 18:15
Beitrag # 7 von 21
Beitrag ID: #355760
Bewertung:
(14448 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, und der folgende Ausdruck, mit dem mir wohler wäre, greift nicht:


Code
^[\w]+:1851876449$ 


Außerdem suche ich noch nach einem Ausdruck, der mit die ganze Zeile ersetzt, wenn ein bestimmtest Zeichen ein- oder mehrmals in dieser Zeile vorkommt.

Beispiel: Sobald ein Klammeraffe einfach oder mehrfach in einer Zeile auftaucht, soll die ganze Zeile (= der ganze Absatz) gelöscht werden.
Die zu löschende Zeile könnte so aussehen:
Code
bulletChar:resolve("/@find-text-preferences/@bullet-char") 



als Antwort auf: [#355759]
(Dieser Beitrag wurde von Martin Fischer am 25. Jun 2008, 18:19 geändert)

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 18:44
Beitrag # 8 von 21
Beitrag ID: #355766
Bewertung:
(14433 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: der folgende Ausdruck greift nicht:

hast du es nur im skript oder auch im dialog probiert?

>> dieser grep findet die Zahl nur wenn sie am Ende steht und am Anfang nur ein Wort vorkommt. >>> Bei mir geht das!


als Antwort auf: [#355760]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 18:48
Beitrag # 9 von 21
Beitrag ID: #355767
Bewertung:
(14428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat >> dieser grep findet die Zahl nur wenn sie am Ende steht und am Anfang nur ein Wort vorkommt.


Das war meine Absicht.


Antwort auf: . >>> Bei mir geht das!

Bei mir ging das - im replace()-Befehl innerhalb des JavaScripts nicht.

Ich versuch's morgen wieder.
Da ist ein anderer Tag.


als Antwort auf: [#355766]

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 18:58
Beitrag # 10 von 21
Beitrag ID: #355768
Bewertung:
(14422 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Außerdem suche ich noch nach einem Ausdruck, der mit die ganze Zeile ersetzt, wenn ein bestimmtest Zeichen ein- oder mehrmals in dieser Zeile vorkommt.


hm.
.+@.+\r ist sicherlich zu einfach als das es die Lösung sein könnte ...

Wo ist der Haken dabei?


als Antwort auf: [#355767]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 19:29
Beitrag # 11 von 21
Beitrag ID: #355770
Bewertung:
(14404 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Wo ist der Haken dabei?


Vermutlich in der Gier.
Bei mir werden damit alle Zeilen gelöscht.


als Antwort auf: [#355768]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 19:39
Beitrag # 12 von 21
Beitrag ID: #355772
Bewertung:
(14403 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Rübi,

so komme ich der Sache näher:


Code
[^\r]+@[^\r]+ 



als Antwort auf: [#355770]

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

25. Jun 2008, 19:52
Beitrag # 13 von 21
Beitrag ID: #355774
Bewertung:
(14387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
auch gut. Du scheinst heute ein anderes InDesign zu haben. Bei mir hat es nur die eine Zeile gelöscht.


als Antwort auf: [#355772]

RecordFindChange.jsx unter CS3

Martin Fischer
  
Beiträge gesamt: 12783

25. Jun 2008, 20:07
Beitrag # 14 von 21
Beitrag ID: #355776
Bewertung:
(14373 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Rübi,

ich arbeite gerade nicht in InDesign, sondern in der Zwischenablage. ;-)


als Antwort auf: [#355774]

RecordFindChange.jsx unter CS3

Kai Rübsamen
  
Beiträge gesamt: 4684

26. Jun 2008, 10:19
Beitrag # 15 von 21
Beitrag ID: #355810
Bewertung:
(14232 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Aufgrund heftigen Chat- und Mailverkehrs hat Martin das o.g. Skript nochmal gravierend verbessert und ich bin begeistert :) :)

Das aktualisierte Skript stellt Martin später im Premium Bereich zur Verfügung.

Neuerungen gegenüber der alten Version:

1. Es funktioniert jetzt auch unter CS3
2. Es werden nur noch die Parameter ausgelesen die man auch im Suchenfeld eingibt
3. Die .txt wird automatisch erzeugt
4. und geöffnet
5. Es gibt einen Dialog für Voreinstellungen, bei dem 1.-4. selbst bestimmt werden können.

Für "Nicht-Skripter" erschließen sich hier zusammen mit der aufgebohrten Version von FindChangeList (liegt auch im PM-Bereich) völlig neue Möglichkeiten des Suchen & Ersetzens.

Danke!!!


als Antwort auf: [#355776]
(Dieser Beitrag wurde von ruebi am 26. Jun 2008, 10:20 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
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