Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bild teilen nach Maßvorgabe ID CS5

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

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 748

17. Jul 2013, 13:16
Beitrag # 16 von 22
Beitrag ID: #515172
Bewertung:
(4180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

teste mal folgendes Script.
Im Idealfall ;-) sollte der Grafikrahmen am Bund getrennt werden.
Dadurch können auch Rahmen verarbeitet werden die nicht mittig über dem Bund stehen. Bildversatz bitte oben angeben.

keine Fehlerbehandlung, ausgewählter Grafikrahmen vorrausgestzt:

Code
var Bildversatz = 3; //Einheit mm 


var currDoc = app.activeDocument;

currDoc.zeroPoint = [0,0];
with(currDoc.viewPreferences)
{
horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
}

var currSel = app.selection[0];
var pSpread = currSel.parentPage.parent;
var pPages = pSpread.pages;
if(pPages.length)
var pPagesBounds = pPages.everyItem().bounds;
var selBounds = currSel.geometricBounds;

var pPage = pPages[getParentPage(pPagesBounds, selBounds)];
var newSelX3 = pPage.bounds[3];
currSel.geometricBounds = [selBounds[0], selBounds[1], selBounds[2], newSelX3];
currSel.images[0].move(undefined,[-Bildversatz,0]);
var newSel = currSel.duplicate(undefined,[0,0]);
var newSelBounds = newSel.geometricBounds;
newSel.geometricBounds = [selBounds[0], newSelBounds[3], selBounds[2], selBounds[3]];
newSel.images[0].move(undefined,[2*Bildversatz,0]);

$




function getParentPage(pPagesBounds, selBounds)
{
x1Sel = selBounds[1];
x2Sel = selBounds[3];
for(var pb = 0; pb < pPagesBounds.length; pb++)
{
if(x1Sel < pPagesBounds[pb][3] && x2Sel > pPagesBounds[pb][3] ) break;
}
return pb;
}


Kritik, Wünsche, Anregungen?


als Antwort auf: [#515090]
X

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5961

17. Jul 2013, 13:54
Beitrag # 17 von 22
Beitrag ID: #515178
Bewertung:
(4161 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

erstmal vielen, vielen Dank!

Bildrahmen, die exakt mittig über dem Bund stehen, werden korrekt geteilt, die Bilder in den Rahmen bekommen auch den korrekten Versatz links/rechts. Trotzdem kommt eine Fehlermeldung:
Code
Error Number: 89858 
Error String: Unknown object type
Engine: main
Source: Return value


Bei Bildrahmen, die nicht mittig über dem Bund stehen (z.B. 1/3 links vom Bund und 2/3 rechts vom Bund), passiert gar nichts außer dieser Fehlermeldung:
Code
Error Number: 45 
Error String: Object is invalid
Line: 25
Source: var newSelX3 = pPage.bounds[3];



als Antwort auf: [#515172]

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 748

17. Jul 2013, 14:14
Beitrag # 18 von 22
Beitrag ID: #515180
Bewertung:
(4154 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm,

läuft hier unter 5.5 und 6 problemlos.
Hast Du ein einfaches Musterdokument und die ID-Version?

thx :)


als Antwort auf: [#515178]

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5961

17. Jul 2013, 15:27
Beitrag # 19 von 22
Beitrag ID: #515183
Bewertung:
(4117 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

den Fehler mit dem asynchronen Bildrahmen (1/3+2/3) muss ich zurücknehmen. Ich habe gerade festgestellt, dass es sich nicht um eine "echte" Doppelseite handelte, sondern um ein A3-Dokument. Ohne Bund geht da natürlich nichts.

Ein (abgespecktes) Testdokument sende ich dir per Mail zu, meine ID-Version ist CS6 (8.0.1).


als Antwort auf: [#515180]

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 748

17. Jul 2013, 17:02
Beitrag # 20 von 22
Beitrag ID: #515190
Bewertung:
(4080 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Ralf,

auch in dem Beispieldokument funktioniert bei mir alles ohne Fehler.
In dem eben geposteten Script war zwar an zwei Stellen noch unerklärlicher Codemüll (sorry & deshalb hier nochmal clean), aber deine Fehlerquelle finde ich nicht.
Vllt. kann (bitte :) ) gerade noch jemand kompetentes darauf schauen?

Code
var Bildversatz = 3; //Einheit mm  


var currDoc = app.activeDocument;

currDoc.zeroPoint = [0,0];
with(currDoc.viewPreferences)
{
horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
}

var currSel = app.selection[0];
var pSpread = currSel.parentPage.parent;
var pPages = pSpread.pages;
var pPagesBounds = pPages.everyItem().bounds;
var selBounds = currSel.geometricBounds;

var pPage = pPages[getParentPage(pPagesBounds, selBounds)];

var newSelX3 = pPage.bounds[3];
currSel.geometricBounds = [selBounds[0], selBounds[1], selBounds[2], newSelX3];
currSel.images[0].move(undefined,[-Bildversatz, 0]);

var newSel = currSel.duplicate(undefined,[0,0]);
var newSelBounds = newSel.geometricBounds;
newSel.geometricBounds = [selBounds[0], newSelBounds[3], selBounds[2], selBounds[3]];
newSel.images[0].move(undefined,[2*Bildversatz, 0]);




function getParentPage(pPagesBounds, selBounds)
{
x1Sel = selBounds[1];
x2Sel = selBounds[3];
for(var pb = 0; pb < pPagesBounds.length; pb++)
{
if(x1Sel < pPagesBounds[pb][3] && x2Sel > pPagesBounds[pb][3] )
{
break;
}
}
return pb;
}



als Antwort auf: [#515183]

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5961

17. Jul 2013, 17:20
Beitrag # 21 von 22
Beitrag ID: #515191
Bewertung:
(4062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

mit dem bereinigten Code ist jetzt alles korrekt. Keine Fehlermeldung mehr. Hab's mit zwei unterschiedlichen Dateien getestet.

Hätte ich das Script mal vor ca. 2 Wochen gehabt ;-) Aber der nächste Job mit dieser Anforderung läuft Anfang August…

Habe dem Script übrigens den Namen SplitImagesOnSpline gegeben :-)

Noch mal vielen, vielen Dank!


als Antwort auf: [#515190]

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 748

17. Jul 2013, 17:22
Beitrag # 22 von 22
Beitrag ID: #515192
Bewertung:
(4061 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
na denne :)


als Antwort auf: [#515191]
X