> Unterschiedliche Skalierungen werden nicht bemeckert (Wenn möglich mit Eintragung in die TXT Datei).
Der Fehler lag in dieser Zeile:
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:
// 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 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)
}