[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: 737

17. Jul 2013, 13:16
Beitrag # 16 von 22
Beitrag ID: #515172
Bewertung:
(3924 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?
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#515090]
Hier Klicken X

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5823

17. Jul 2013, 13:54
Beitrag # 17 von 22
Beitrag ID: #515178
Bewertung:
(3905 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];


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

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 737

17. Jul 2013, 14:14
Beitrag # 18 von 22
Beitrag ID: #515180
Bewertung:
(3898 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 :)
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#515178]

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5823

17. Jul 2013, 15:27
Beitrag # 19 von 22
Beitrag ID: #515183
Bewertung:
(3861 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).

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

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 737

17. Jul 2013, 17:02
Beitrag # 20 von 22
Beitrag ID: #515190
Bewertung:
(3824 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;
}

Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#515183]

Bild teilen nach Maßvorgabe ID CS5

Ralf Hobirk
Beiträge gesamt: 5823

17. Jul 2013, 17:20
Beitrag # 21 von 22
Beitrag ID: #515191
Bewertung:
(3806 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!

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

Bild teilen nach Maßvorgabe ID CS5

-hans-
Beiträge gesamt: 737

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

Hans-Gerd Claßen


als Antwort auf: [#515191]
X