hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
-hans-
Beiträge: 736
17. Jul 2013, 13:16
Beitrag #16 von 22
Beitrag ID: #515172
Bewertung:
(3000 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


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?
Lieben Gruß

Hans-Gerd Claßen
als Antwort auf: [#515090] Top
 
X
Ralf Hobirk p
Beiträge: 5692
17. Jul 2013, 13:54
Beitrag #17 von 22
Beitrag ID: #515178
Bewertung:
(2981 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


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];


---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#515172] Top
 
-hans-
Beiträge: 736
17. Jul 2013, 14:14
Beitrag #18 von 22
Beitrag ID: #515180
Bewertung:
(2974 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


Hm,

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

thx :)
Lieben Gruß

Hans-Gerd Claßen
als Antwort auf: [#515178] Top
 
Ralf Hobirk p
Beiträge: 5692
17. Jul 2013, 15:27
Beitrag #19 von 22
Beitrag ID: #515183
Bewertung:
(2937 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


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).

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#515180] Top
 
-hans-
Beiträge: 736
17. Jul 2013, 17:02
Beitrag #20 von 22
Beitrag ID: #515190
Bewertung:
(2900 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


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;
}

Lieben Gruß

Hans-Gerd Claßen
als Antwort auf: [#515183] Top
 
Ralf Hobirk p
Beiträge: 5692
17. Jul 2013, 17:20
Beitrag #21 von 22
Beitrag ID: #515191
Bewertung:
(2882 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


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!

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#515190] Top
 
-hans-
Beiträge: 736
17. Jul 2013, 17:22
Beitrag #22 von 22
Beitrag ID: #515192
Bewertung:
(2881 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Bild teilen nach Maßvorgabe ID CS5


na denne :)
Lieben Gruß

Hans-Gerd Claßen
als Antwort auf: [#515191] Top
 
« « 1 2 » »  
X