[GastForen Programme Print/Bildbearbeitung Adobe InDesign Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

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

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

29. Nov 2007, 13:19
Beitrag # 1 von 13
Bewertung:
(3275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

nach dem suchen eine Skriptes bin ich hier gelandet,
ich muss in einem riesen Dokument, lauter Bildnamen unter das Bild schreiben, dazu hab ich auch ein Skript gefunden, allerdings muss hierzu immer ein Rahmen gewählt sein.

Kann mir das vielleicht jemand umschreiben das er automatisch alle Bilderrahmen anwählt?

Wäre super nützlich.
Vielen dank.

Hier noch das aktuelle Script:


// addCaption_2.jsx
// an InDesign CS2 JavaScript
//
var myObjectStyle = app.activeDocument.objectStyles.item("BU"); // Objektstil für Bildunterschrift
var myDistance = -5; // Abstand zum Bild
var myHeight = 3.923; // Höhe des Rahmens für die Bildunterschrift
var myDoc = app.documents[0];
var mySel = app.selection;

// Wenn der oben genannte Objektstil ("BU") nicht vorhanden ist,
// dann wird der Objekstil "[Einfacher Textrahmen]" zugewiesen.
try{
myObjectStyle.name; // Prüfung Objektstil
}
catch(e){
var myObjectStyle = app.activeDocument.objectStyles.item("[Normal Text Frame]");
}

for (oneObject = 0; oneObject < mySel.length; oneObject++){
if (mySel[oneObject].constructor.name == "Rectangle"){
var myBounds = mySel[oneObject].geometricBounds;
var myPage = mySel[oneObject].parent.documentOffset-1;
if (mySel[oneObject].graphics.length > 0){
var myContent = mySel[oneObject].graphics[0].itemLink.name;
}
else {
var myContent = "Abb. ";
}
var myFrame = myDoc.pages[myPage].textFrames.add(
undefined, undefined, undefined, {
geometricBounds:[myBounds[2] + myDistance, myBounds[1], myBounds[2] + myHeight + myDistance, myBounds[3]],
contents:myContent
}
)
myFrame.applyObjectStyle(myObjectStyle);
}
}
X

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

Martin Fischer
  
Beiträge gesamt: 12623

29. Nov 2007, 13:32
Beitrag # 2 von 13
Beitrag ID: #324955
Bewertung:
(3261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Quick & Dirty dies:
Code
// addCaption_2.jsx 
// an InDesign CS2 JavaScript
//
var myObjectStyle = app.activeDocument.objectStyles.item("BU"); // Objektstil für Bildunterschrift
var myDistance = -5; // Abstand zum Bild
var myHeight = 3.923; // Höhe des Rahmens für die Bildunterschrift
var myDoc = app.documents[0];
var myLinks = app.activeDocument.links;

// Wenn der oben genannte Objektstil ("BU") nicht vorhanden ist,
// dann wird der Objekstil "[Einfacher Textrahmen]" zugewiesen.
try{
myObjectStyle.name; // Prüfung Objektstil
}
catch(e){
var myObjectStyle = app.activeDocument.objectStyles.item("[Normal Text Frame]");
}

for (oneObject = 0; oneObject < myLinks.length; oneObject++){
if (myLinks[oneObject].parent.parent.constructor.name == "Rectangle"){
var myBounds = myLinks[oneObject].parent.parent.geometricBounds;
var myPage = myLinks[oneObject].parent.parent.parent.documentOffset-1;
if (myLinks[oneObject].parent.parent.graphics.length > 0){
var myContent = myLinks[oneObject].parent.parent.graphics[0].itemLink.name;
}
else {
var myContent = "Abb. ";
}
var myFrame = myDoc.pages[myPage].textFrames.add(
undefined, undefined, undefined, {
geometricBounds:[myBounds[2] + myDistance, myBounds[1], myBounds[2] + myHeight + myDistance, myBounds[3]],
contents:myContent
}
)
try {
myFrame.applyObjectStyle(myObjectStyle);
} catch(e){}
}
}


Viele Grüße
Martin




als Antwort auf: [#324948]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

29. Nov 2007, 13:47
Beitrag # 3 von 13
Beitrag ID: #324960
Bewertung:
(3252 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ging ja wirklich super schnell...

vielen herzlichen dank dafür


als Antwort auf: [#324955]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

29. Nov 2007, 14:31
Beitrag # 4 von 13
Beitrag ID: #324970
Bewertung:
(3233 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo nochmals,

also das Skript funktioniert bei einigen Dokumenten aber bei anderen kommt dieser Fehler:

JavaScript Fehler!

Fehlernummer: 55
Fehlerzeichenfolge: Object does not support the property or method 'documentOffset'
Zeile 22
Quelle: var myPage = myLinks
[oneObject].parent.parent.parent.documentOffset -1;


nachdem man ok sagt ist nichts passiert.

Grüße
Micha


als Antwort auf: [#324955]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

Martin Fischer
  
Beiträge gesamt: 12623

29. Nov 2007, 14:41
Beitrag # 5 von 13
Beitrag ID: #324974
Bewertung:
(3230 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wahrscheinlich sind verankerte Bilder enthalten.

Viele Grüße
Martin




als Antwort auf: [#324970]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

29. Nov 2007, 14:45
Beitrag # 6 von 13
Beitrag ID: #324976
Bewertung:
(3227 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
kann man das irgendwie umgehen das das script nicht drauf zugreift auf solche Bilder, oder es nicht abbricht?

Danke


als Antwort auf: [#324974]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

Martin Fischer
  
Beiträge gesamt: 12623

29. Nov 2007, 14:55
Beitrag # 7 von 13
Beitrag ID: #324979
Bewertung:
(3223 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

jetzt wird es ziemlich schmutzig.

Ersetze mal die Zeile

if (myLinks[oneObject].parent.parent.constructor.name == "Rectangle"){


durch
Code
if (myLinks[oneObject].parent.parent.constructor.name == "Rectangle" && myLinks[oneObject].parent.parent.parent.constructor.name == "Page"){ 


Geht's dann?

Viele Grüße
Martin




als Antwort auf: [#324976]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

29. Nov 2007, 15:21
Beitrag # 8 von 13
Beitrag ID: #324988
Bewertung:
(3205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also mein indesign mag es wohl schmutzig :-)

ein paar bilder haben jetzt keine nummern, denke das waren die problemkinder.

danke nochmals.


als Antwort auf: [#324979]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

18. Nov 2008, 16:43
Beitrag # 9 von 13
Beitrag ID: #375148
Bewertung:
(2961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
so jetzt ist viel zeit vorbei und es gibt ein Problem mit CS3

wenn ich das Script laufen lasse, werden die rechten Seiten korrekt benannt allerdings die linken Seiten sind falsch.

Mir kommt es vor als ob InDesign die Bilduntertexte einfach eine Seite nach vorne schiebt (also von Seite 4 auf Seite 2)

kann mir da vll. einer etwas helfen?

verwendet haben wir das script hier:



Code
// addCaption_2.jsx  
// an InDesign CS2 JavaScript
//
var myObjectStyle = app.activeDocument.objectStyles.item("BU"); // Objektstil für Bildunterschrift
var myDistance = -5; // Abstand zum Bild
var myHeight = 3.923; // Höhe des Rahmens für die Bildunterschrift
var myDoc = app.documents[0];
var myLinks = app.activeDocument.links;

// Wenn der oben genannte Objektstil ("BU") nicht vorhanden ist,
// dann wird der Objekstil "[Einfacher Textrahmen]" zugewiesen.
try{
myObjectStyle.name; // Prüfung Objektstil
}
catch(e){
var myObjectStyle = app.activeDocument.objectStyles.item("[Normal Text Frame]");
}

for (oneObject = 0; oneObject < myLinks.length; oneObject++){
if (myLinks[oneObject].parent.parent.constructor.name == "Rectangle" && myLinks[oneObject].parent.parent.parent.constructor.name == "Page"){
var myBounds = myLinks[oneObject].parent.parent.geometricBounds;
var myPage = myLinks[oneObject].parent.parent.parent.documentOffset-1;
if (myLinks[oneObject].parent.parent.graphics.length > 0){
var myContent = myLinks[oneObject].parent.parent.graphics[0].itemLink.name;
}
else {
var myContent = "Abb. ";
}
var myFrame = myDoc.pages[myPage].textFrames.add(
undefined, undefined, undefined, {
geometricBounds:[myBounds[2] + myDistance, myBounds[1], myBounds[2] + myHeight + myDistance, myBounds[3]],
contents:myContent
}
)
try {
myFrame.applyObjectStyle(myObjectStyle);
} catch(e){}
}
}



Danke :-)



PS: gibts vll sowas like "JoDrop" auch für InDesign (JoDrop ist ein Tool für Quark welches Bildnamen im Layout anzeigen und auch drucken kann)


als Antwort auf: [#324988]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

Martin Fischer
  
Beiträge gesamt: 12623

18. Nov 2008, 20:39
Beitrag # 10 von 13
Beitrag ID: #375200
Bewertung:
(2927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kleiner,

versuch mal, die Zeile var myPage = myLinks[oneObject].parent.parent.parent.documentOffset-1; durch folgende zu ersetzen:

Code
var myPage = myLinks[oneObject].parent.parent.parent.documentOffset; 


Viele Grüße
Martin




als Antwort auf: [#375148]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

19. Nov 2008, 08:54
Beitrag # 11 von 13
Beitrag ID: #375250
Bewertung:
(2894 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
super jetzt tut es. vielen dank Martin.

Grüße


als Antwort auf: [#375200]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

Martin Fischer
  
Beiträge gesamt: 12623

19. Nov 2008, 09:14
Beitrag # 12 von 13
Beitrag ID: #375254
Bewertung:
(2886 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn ich mich richtig erinnere, war der documentOffset der ersten Seite eines Dokuments bis CS2 1.
In CS3 ist er 0. Dies entspricht der JavaScript-Zählung, die bei 0 anfängt.

Das könnte die Ursache des Problems gewesen sein.

Viele Grüße
Martin




als Antwort auf: [#375250]

Script um alle Bilder auszuwählen und Bildname unter Bild zu setzen

derkleine
Beiträge gesamt: 80

19. Nov 2008, 09:17
Beitrag # 13 von 13
Beitrag ID: #375255
Bewertung:
(2885 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ja das klingt realistisch weil es war ja irgendwas verschoben.
leider kenn ich mich in dem thema null aus, aber dafür so nette leute wie du!


danke


als Antwort auf: [#375254]
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
29.09.2022

IDUGS#85 Press2id

Zoom Meeting
Donnerstag, 29. Sept. 2022, 19.00 - 21.00 Uhr

Vortrag

Kennst du WordPress? Vielleicht. Verwendest du WordPress? Ja, klar! WordPress ist das am weitesten verbreitete System für die Erstellung von Webseiten. Um Webseitenbau soll es auf dieser IDUG aber nicht gehen. Gregor zeigt press2id (github.com/grefel/press2id). Seine Open-Source-Lösung für die Verbindung von Web und InDesign. Richtig gelesen: InDesign liest mithilfe von press2id die Inhalte der WordPress-Webseiten und generiert daraus Zeitschriften, Kataloge, Programmhefte oder Bierdeckel (das zeigen wir natürlich auch!). So wird die „Content First“ Theorie zu einer konkret anwendbaren Praxis, ohne gleich die ganz großen Räder zu drehen. Versprochen: Jeder kann nach der IDUG innerhalb kürzester Zeit Daten von WordPress nach InDesign importieren. Aber Achtung: Prinzipiell kann press2id aus jeder Website, oder besser Contentmanagementsystem (CMS) Daten auslesen und nach InDesign importieren! Spannend, oder? Danach geht es in die Praxis: Stefan hat die Webseite des Parktheater Iserlohn (parktheater-iserlohn.de) gestaltet. Die gedruckten Spielpläne (parktheater-iserlohn.de/interaktive-spielplaene) werden mit press2id realisiert. Wir schauen in den Maschinenraum und zeigen, wie die Lösung des Projekts realisiert wurde.

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs85.eventbrite.de/

Von Wordpress nach InDesign
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022