[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Link Export Skript + Änderungen

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

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 12:07
Beitrag # 1 von 101
Bewertung:
(16461 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich benutze sehr oft das Link Export Skript von Martin. Nun verlangen aber unsere internen Arbeitsprozeduren (weitergabe der Bilderliste an die Scanabteilung) dass noch der Farbmodus und der Dateityp aufgelistet werden. Kann mir dabei einer weiterhelfen um diese Werte von der Info-Palette in die Txt-Datei zu bekommen.


@Martin: Die skalieren Warnung funktioniert bei mir überhaupt nicht. Getestet wurden Unterschiede bis 30%. Gäbe es da auch eine Möglichkeit wie z.B. "(!)" vor die Prozentwerte zu setzen (Beispiel: (!) 63 (!) 62).



Folgend ist noch meine Version des Skripts:

Code
// LinkExport-Pro_Mod_b1.jsx  
// DESCRIPTION: Exportiert einige Informationen über plazierte Bilder im aktiven Dokument in eine Textdatei im Verzeichnis des Dokuments.
// Die Werte sind durch Tabulatoren getrennt, so daß der Inhalt der Textdatei z.B. über die Zwischenablage in eine Excel-Tabelle kopiert und dort sortiert werden kann.
// Die exportierte Textdatei trägt den Namen des Dokuments und die Endung ".txt".
//
var myDoc = app.documents[0];
if (myDoc.saved == false)
{
alert("Errorr.\rPlease save the document!");
exit();
}
var myDocName = myDoc.name.split(".indd")[0];
var myTXT_File = myDocName + '.txt';
var myPath = myDoc.filePath + "/";
var myCreator = "R*ch";
var myType = "TEXT";
var theFiles = myDoc.links;
var myData = "Name\t\t% Vertical\t% Horizontal\t\tWidth\tHeight\t\tEff. Res.\t\tPage Nr.\t\tPath\r";

var f = new File( myPath + myTXT_File );
f.open( 'w', myType, myCreator );
f.writeln( myData );

for (myCounter = 0; myCounter<theFiles.length;myCounter ++ ) {
var myBounds = theFiles[myCounter].parent.geometricBounds;
var myWidth = Math.round(myBounds[3]-myBounds[1]);
var myHeight = Math.round(myBounds[2]-myBounds[0]);
var myScaleVert = Math.round(theFiles[myCounter].parent.absoluteVerticalScale);
var myScaleHori = Math.round(theFiles[myCounter].parent.absoluteHorizontalScale);
var myImagePath = theFiles[myCounter].filePath;
var myPage ="???"; //Falls Seite vom Skript bei EPS-Bild nicht erkannt wird
// WARNING if vertical scale is different to horizontal scale
if (myScaleVert !== myScaleHori)
{
var myWarning = "% Vertical is not equal % Horizontal";
}
else
{
var myWarning = "";
}
try
{
myPPI = (theFiles[myCounter].parent.effectivePpi);
}
catch (e)
{
myPPI = 0;
}
var myClass = theFiles[myCounter].parent.parent.parent.constructor.name;
// image placed on page
if (myClass == "Page")
{
myPage = theFiles[myCounter].parent.parent.parent.name;
}
// image embedded
else if (myClass == "Character")
{
try
{
myPage = theFiles[myCounter].parent.parent.parent.parentTextFrames[0].parent.name;
}
catch(e)
{
myPage = "Hidden in the Slug area";
}
}
else {
try
{
// image placed outside the pages
myPage = "(Outside) " + theFiles[myCounter].parent.parent.parent.pages[0].name;
}
catch(e)
{
// don't know the page where the image is placed
// alert ("Class: " + myClass + "\r" + theFiles[myCounter].name);
}
}
myData = theFiles[myCounter].name + "\t" + "\t" + myScaleVert + "\t" + myScaleHori + "\t" + "\t" + myWidth + " mm" + "\t" + myHeight + " mm" + "\t" + "\t" + myPPI + "\t" + "\t" + myPage + "\t" + "\t" + myImagePath + "\r";
f.writeln(myData);
}
f.close();


Schonmal Danke im voraus

Beste Grüße
Yves



yves-apel.eu

(Dieser Beitrag wurde von Nighthawk am 21. Jun 2006, 12:08 geändert)
X

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

21. Jun 2006, 13:11
Beitrag # 2 von 101
Beitrag ID: #235559
Bewertung:
(16435 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Yves,

kannst Du mir den Link zu der von Dir verwendeten Version oder das Skript selbst schicken?
Bei mir liegen verschiedene Versionen für verschiedene Zwecke rum.

> Die skalieren Warnung funktioniert bei mir überhaupt nicht.
Bei mir meckert das Skript schon bei 1%. Schon immer. Ein x in der letzten Spalte.
Aber ich werde es mit Deiner Version versuchen.
Das mit den Anführungszeichen werde ich auch noch irgendwie hinbekommen.

Viele Grüße
Martin




als Antwort auf: [#235551]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 13:24
Beitrag # 3 von 101
Beitrag ID: #235565
Bewertung:
(16429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat Das mit den Anführungszeichen werde ich auch noch irgendwie hinbekommen.

Mit den Anführungszeichen??? Habe ich mich falsch ausgedrückt?

Die E-Mail kommt in etwa 10 Minuten. Danke

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235559]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

21. Jun 2006, 13:29
Beitrag # 4 von 101
Beitrag ID: #235566
Bewertung:
(16424 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Mit den Anführungszeichen??? Habe ich mich falsch ausgedrückt?

Nein, aber ich habe 32° unterm Dach, arbeite simultan an 5 Projekten und verschwinde jetzt in den kühlen Garten und bin für ne Weile für niemanden mehr erreichbar.

Viele Grüße
Martin




als Antwort auf: [#235565]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 13:42
Beitrag # 5 von 101
Beitrag ID: #235571
Bewertung:
(16421 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

Zitat Nein, aber ich habe 32° unterm Dach, arbeite simultan an 5 Projekten und verschwinde jetzt in den kühlen Garten und bin für ne Weile für niemanden mehr erreichbar.

Und wie kannst du jetzt meine E-Mail lesen :)? Nee, kleiner Scherz.

Ich kann deine Situation nachvollziehen. Bin auch erst vor kurzem in ein neues Büro ohne Klimaanlage gewechselt.

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235566]
(Dieser Beitrag wurde von Nighthawk am 21. Jun 2006, 13:44 geändert)

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 20:19
Beitrag # 6 von 101
Beitrag ID: #235616
Bewertung:
(16388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

nach einem massiven Zeitaufwand und einer Runde Kopfrauch ;) habe ich es teilweise geschafft die gewünschten Funktionen einzubauen und sogar noch zu erweitern.

Was jetzt funktioniert:
Dateiname
Skalierungswerte
Grösse
Rotation
Auflösungswerte
Farbraum
Seitenummer (mit Eintrag wenn ein Bild ausserhalb der Seite steht)
??? wenn Seitennummer nicht erkannt
Pfadangaben

Was geht noch nicht:
Unterschiedliche Skalierungen werden nicht bemeckert (Wenn möglich mit Eintragung in die TXT Datei).
Ich bringe es nicht fertig den Dateityp in die TXT Datei zu bringen. Mit "imageTypeName" geht ohne Bildanwahl schon garnichts und mit nur halbwegs Crazy.
Bei einigen Einträgen im Script weiss ich nicht was sie bedeuten oder überhaupt eine Funktion erfüllen.

Gibt es dafür eine verständliche Lösung

Ich habe mal meine aktuelle Version des Scripts und die TXT Datei angehängt.

Grosses Dankeschön

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235566]
(Dieser Beitrag wurde von Nighthawk am 21. Jun 2006, 20:25 geändert)

Anhang:
LinkExportScript.zip (1.71 KB)

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

21. Jun 2006, 21:13
Beitrag # 7 von 101
Beitrag ID: #235622
Bewertung:
(16380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Unterschiedliche Skalierungen werden nicht bemeckert (Wenn möglich mit Eintragung in die TXT Datei).

Der Fehler lag in dieser Zeile:
Code
	if (myScaleVert !== myScaleHori) 


!== sollte != geschrieben sein.

Das Skript habe ich um ein paar Kleinigkeiten erweitert (z.B. rekursive Funktion zur Bestimmung der Seitenzahl auch bei gruppierten oder verschachtelten Objekten).

Mit dem Bildtyp habe ich keine Probleme.
Welche Probleme hast Du damit?

Deine sonstigen Anpassungen sind in Ordnung.

Hier das veränderte Skript:
Code
// LinkExport-Pro_Mod_beta3.jsx   
// DESCRIPTION: Exportiert einige Informationen über plazierte Bilder im aktiven Dokument in eine Textdatei im Verzeichnis des Dokuments.
// Die Werte sind durch Tabulatoren getrennt, so daß der Inhalt der Textdatei z.B. über die Zwischenablage in eine Excel-Tabelle kopiert und dort sortiert werden kann.
// Die exportierte Textdatei trägt den Namen des Dokuments und die Endung ".txt".
//
var myDoc = app.documents[0];
if (myDoc.saved == false)
{
alert("Errorr.\rPlease save the document!");
exit();
}
var myDocName = myDoc.name.split(".indd")[0];
var myTXT_File = myDocName + '.txt';
var myPath = myDoc.filePath + "/";
var myCreator = "R*ch";
var myType = "TEXT";
var theFiles = myDoc.links;
var myData = "Name\t\t% Vertical\t% Horizontal\t\tWidth\tHeight\t\tRotation\t\tAct. Res.\tEff. Res.\t\tCol. Space\t\tFile type\t\tPage Nr.\t\tPath\r";

var f = new File( myPath + myTXT_File );
f.open( 'w', myType, myCreator );
f.writeln( myData );

for (myCounter = 0; myCounter<theFiles.length;myCounter ++ ) {
var myBounds = theFiles[myCounter].parent.geometricBounds;
var myWidth = Math.round(myBounds[3]-myBounds[1]);
var myHeight = Math.round(myBounds[2]-myBounds[0]);
var myScaleVert = Math.round(theFiles[myCounter].parent.absoluteVerticalScale);
var myScaleHori = Math.round(theFiles[myCounter].parent.absoluteHorizontalScale);
try
{
var mySpace = theFiles[myCounter].parent.space;
}
catch (e)
{
var mySpace = "--";
}
try
{
var myImageTypeName = theFiles[myCounter].parent.imageTypeName;
}
catch (e)
{
var myImageTypeName = "--";
}
var myImagePath = theFiles[myCounter].filePath;

// WARNING if vertical scale is different to horizontal scale
if (myScaleVert != myScaleHori)
{
myScaleVert += "!";
myScaleHori += "!";
}
try
{
myPPI = (theFiles[myCounter].parent.effectivePpi);
}
catch (e)
{
myPPI = 0;
}
try
{
myPPI2 = (theFiles[myCounter].parent.actualPpi);
}
catch (e)
{
myPPI2 = 1;
}
try
{
myRA = Math.round(theFiles[myCounter].parent.rotationAngle);
}
catch (e)
{
myRA = 2;
}
var myPage = getPage(theFiles[myCounter].parent.parent.parent);
if (myPage.constructor.name == "Page")
var myPageName = myPage.name;
else var myPageName = myPage.pages[0].name + "_[Montageflaeche]"; // Textrahmen auf Montagefläche

myData = theFiles[myCounter].name + "\t" + "\t" + myScaleVert + "\t" + myScaleHori + "\t" + "\t" + myWidth + " mm" + "\t" + myHeight + " mm" + "\t" + "\t" + myRA + "°" + "\t" + "\t" + myPPI2 + "\t" + myPPI + "\t" + "\t" + mySpace + "\t" + "\t" + myImageTypeName + "\t" + "\t" + myPageName + "\t" + "\t" + myImagePath + "\r";
f.writeln(myData);
}
f.close();

function getPage(myObject)
{
i +=1;
if ((myObject.constructor.name == "Page") || (myObject.constructor.name == "Spread"))
return myObject


if ( myObject.constructor.name == "Character")
{
if ((app.version +"").substr(0,1) == "4") return getPage(myObject.parentTextFrames[0])
else if ((app.version +"").substr(0,1) == "3") return getPage(myObject.parentTextFrame)
}

return getPage(myObject.parent)
}


Viele Grüße
Martin




als Antwort auf: [#235616]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 21:45
Beitrag # 8 von 101
Beitrag ID: #235625
Bewertung:
(16375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

Zitat Mit dem Bildtyp habe ich keine Probleme.
Welche Probleme hast Du damit?

Bei mir will das Script den BildTyp einfach nicht in die TXT Datei reinschreiben. Auch nicht bei deiner neuen Version!

Wir machen am besten morgen mit wachen Gedanken weiter. Bei mir läuft so langsam nichts mehr. Gute Nacht!

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235622]
(Dieser Beitrag wurde von Nighthawk am 21. Jun 2006, 21:50 geändert)

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

22. Jun 2006, 05:45
Beitrag # 9 von 101
Beitrag ID: #235638
Bewertung:
(16355 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Bei mir will das Script den BildTyp einfach nicht in die TXT Datei reinschreiben.
Was steht statt dessen drin?
Und was für Bildtypen hast Du, die vom Skript nicht erkannt werden?
Hängt's an der Plattform? Bei mir lief es auf'm MAC.

Viele Grüße
Martin




als Antwort auf: [#235625]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 06:01
Beitrag # 10 von 101
Beitrag ID: #235642
Bewertung:
(16353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat Was steht statt dessen drin?

Also, wenn garnichts angewählt ist bleibt die Kolonne in der Txt leer. Ist zufällig ein Bild (z.B. Tiff) mit dem Direktauswahlwerkzeug angewählt, vergibt es für jedes Bild das gleiche Attribut (bei pdf, eps, ai, ... schreibt das Script auch tiff hin).

Zitat Und was für Bildtypen hast Du, die vom Skript nicht erkannt werden?

Was ich damit bezwecken will ist das mir noch immer viele Daten ohne Extension angeliefert werden. Da möchte ich einfach wissen was für eine Datei es ist. War das die eigentliche Frage?

Zitat Hängt's an der Plattform? Bei mir lief es auf'm MAC.

Bei mir weder auf Mac noch auf PC / InDesign CS2 4.02 Englisch.

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235638]
(Dieser Beitrag wurde von Nighthawk am 22. Jun 2006, 06:02 geändert)

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 06:18
Beitrag # 11 von 101
Beitrag ID: #235645
Bewertung:
(16346 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

Mir fällt gerade auf dass wir dabei sind den Herstellern von Preflight Programmen mächtig Konkurenz zu machen. Wenn jetzt noch eine zusätzliche Warnmeldung für eine minimale Bildauflösung (z.B. Warnen wenn unter 250 PPI) wäre könnte man es auch als solches benutzen.

Sehr Interessant

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235638]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

22. Jun 2006, 07:08
Beitrag # 12 von 101
Beitrag ID: #235651
Bewertung:
(16337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Also, wenn garnichts angewählt ist bleibt die Kolonne in der Txt leer. Ist zufällig ein Bild (z.B. Tiff) mit dem Direktauswahlwerkzeug angewählt, vergibt es für jedes Bild das gleiche Attribut (bei pdf, eps, ai, ... schreibt das Script auch tiff hin).


Jetzt habe ich kapiert.
Und ich kann's rekonstruieren.

Das Phänomen ist seltsam, denn eigentlich berücksichtigt das Skript keinerlei Auswahl. Es greift auf die Links zurück und kümmert sich nicht um den Zustand auf dem Bildschirm.
Es scheint so, als ob zum Bildtyp andere Informationen geliefert werden, wenn ein Bild ausgewählt wird, als wenn kein Bild ausgewählt ist. Die Auswahl eines leeren Graphik- oder Textrahmens zählt nicht.

Versuche es statt mit dem "imageTypeName" mal mit dem "linkType".
Code
var myLinkType =   theFiles[myCounter].linkType 


Viele Grüße
Martin




als Antwort auf: [#235642]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12494

22. Jun 2006, 07:20
Beitrag # 13 von 101
Beitrag ID: #235657
Bewertung:
(16332 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Warnen wenn unter 250 PPI

Ersetze dazu die Zeilen
Code
try    
{
myPPI = (theFiles[myCounter].parent.effectivePpi);

}


durch
Code
try    
{
myPPI = (theFiles[myCounter].parent.effectivePpi);
if (theFiles[myCounter].parent.effectivePpi[0] < 250) myPPI[0] = ("#" + myPPI[0] );
if (theFiles[myCounter].parent.effectivePpi[1] < 250) myPPI[1] += "#";
}


> Herstellern von Preflight Programmen mächtig Konkurenz zu machen
Nichts läge mir ferner!

Viele Grüße
Martin




als Antwort auf: [#235645]
(Dieser Beitrag wurde von Martin Fischer am 22. Jun 2006, 07:22 geändert)

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 07:23
Beitrag # 14 von 101
Beitrag ID: #235660
Bewertung:
(16328 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

mit "linkType" klappt es wunderbar. Es hatte mich schon gewundert das der andere Befehl nicht klappt. Im Ref. Book steht es dann falsch.

Ich wollte noch gerade schreiben dass ich mich dann morgen mit der Auflösung beschäftigen werde. Du warst aber mal wieder schneller.

Werde es auf jeden Fall gleich ausprobieren! Wie immer Dankeschön!

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235651]
(Dieser Beitrag wurde von Nighthawk am 22. Jun 2006, 07:28 geändert)

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 07:29
Beitrag # 15 von 101
Beitrag ID: #235663
Bewertung:
(16324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

Auflösungswarnung auch gerade getestet.

Einfach nur grandios, Martin. Super!

Beste Grüße
Yves



yves-apel.eu


als Antwort auf: [#235657]
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
19.10.2021

Online
Dienstag, 19. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

Das Thema Farbmanagement in der Druckvorstufe ist für viele ein Buch mit sieben Siegeln. Was sind ICC-Profile? Wie kann ich Farbe sparen? Wie kann man Druckdaten für unterschiedliche Druckverfahren aufbereiten? Wir versorgen Sie mit unseren kostenlosen Webinaren mit Antworten.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Grundlagen Farbmanagement
Veranstaltungen
26.10.2021

Online
Dienstag, 26. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

In unserem ca. 30-minütigen kostenlosen Webinar zeigt Ihnen unser Produktmanager Karsten Schwarze, wie Sie mit ColorLogic ColorAnt, CoPrA und ZePrA einen konsistenten Farbmanagement Workflow aufbauen und die Druckqualität sichern.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Mit ColorLogic ColorAnt & CoPrA & ZePrA zum perfekten Druckergebnis