[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, 14:07
Beitrag # 1 von 101
Bewertung:
(17630 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

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

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

21. Jun 2006, 15:11
Beitrag # 2 von 101
Beitrag ID: #235559
Bewertung:
(17603 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.


als Antwort auf: [#235551]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 15:24
Beitrag # 3 von 101
Beitrag ID: #235565
Bewertung:
(17597 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


als Antwort auf: [#235559]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

21. Jun 2006, 15:29
Beitrag # 4 von 101
Beitrag ID: #235566
Bewertung:
(17592 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.


als Antwort auf: [#235565]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 15:42
Beitrag # 5 von 101
Beitrag ID: #235571
Bewertung:
(17589 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.


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

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 22:19
Beitrag # 6 von 101
Beitrag ID: #235616
Bewertung:
(17556 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


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

Anhang:
LinkExportScript.zip (1.71 KB)

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

21. Jun 2006, 23:13
Beitrag # 7 von 101
Beitrag ID: #235622
Bewertung:
(17548 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)
}



als Antwort auf: [#235616]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

21. Jun 2006, 23:45
Beitrag # 8 von 101
Beitrag ID: #235625
Bewertung:
(17543 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!


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

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

22. Jun 2006, 07:45
Beitrag # 9 von 101
Beitrag ID: #235638
Bewertung:
(17523 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.


als Antwort auf: [#235625]

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 08:01
Beitrag # 10 von 101
Beitrag ID: #235642
Bewertung:
(17521 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.


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

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 08:18
Beitrag # 11 von 101
Beitrag ID: #235645
Bewertung:
(17514 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


als Antwort auf: [#235638]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

22. Jun 2006, 09:08
Beitrag # 12 von 101
Beitrag ID: #235651
Bewertung:
(17505 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 



als Antwort auf: [#235642]

Link Export Skript + Änderungen

Martin Fischer
  
Beiträge gesamt: 12783

22. Jun 2006, 09:20
Beitrag # 13 von 101
Beitrag ID: #235657
Bewertung:
(17500 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!


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

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

22. Jun 2006, 09:23
Beitrag # 14 von 101
Beitrag ID: #235660
Bewertung:
(17496 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!


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

Link Export Skript + Änderungen

Yves Apel
Beiträge gesamt: 1724

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

Auflösungswarnung auch gerade getestet.

Einfach nur grandios, Martin. Super!


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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. 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 / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 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

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!