[GastForen Programme Print/Bildbearbeitung Adobe InDesign

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

InDesign-Datei mit Drag & Drop platzieren

Martin Fischer
  
Beiträge gesamt: 12783

8. Jun 2009, 18:01
Bewertung:

gelesen: 9610

Beitrag als Lesezeichen
Hallo Quarz,

ich habe in meinem Archiv ein Skript 'PlaceMultipageINDD.jsx' mit Datum '7.1.2008' gefunden.
Die Quelle ist mir unbekannt.
Möglicherweise handelt es sich um einen eigenen Versuch, das PlaceMultipagePDF.jsx für INDD anzupassen.

Anyway, vielleicht hilft es Dir für's Erste (die Optionen sind spärlich).
Code
//PlaceMultipageINDD.jsx 

var myINDDFile = File.openDialog("Choose an InDesign File");
if((myINDDFile != "")&&(myINDDFile != null)){
var myDocument, myPage;
if(app.documents.length != 0){
myDocument, myNewDocument = myChooseDocument();
}
else{
myDocument = app.documents.add();
myNewDocument = false;
}
if(myNewDocument == false){
myPage = myChoosePage(myDocument);
}
else{
myPage = myDocument.pages.item(0);
}
myPlaceINDD(myDocument, myPage, myINDDFile);
}
function myChooseDocument(){
var myDocumentNames = new Array;
myDocumentNames.push("New Document");
//Get the names of the documents
for(var myDocumentCounter = 0;myDocumentCounter < app.documents.length; myDocumentCounter++){
myDocumentNames.push(app.documents.item(myDocumentCounter).name);
}
var myChooseDocumentDialog = app.dialogs.add({name:"Choose a Document", canCancel:false});
with(myChooseDocumentDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Place INDD in:"});
}
with(dialogColumns.add()){
var myChooseDocumentDropdown = dropdowns.add({stringList:myDocumentNames, selectedIndex:0});
}
}
}
myChooseDocumentDialog.show();
if(myChooseDocumentDropdown.selectedIndex == 0){
myDocument = app.documents.add();
myNewDocument = true;
}
else{
myDocument = app.documents.item(myChooseDocumentDropdown.selectedIndex-1);
myNewDocument = false;
}
myChooseDocumentDialog.destroy();
return myDocument, myNewDocument;
}
function myChoosePage(myDocument){
var myPageNames = new Array;
//Get the names of the pages in the document
for(var myCounter = 0; myCounter < myDocument.pages.length;myCounter++){
myPageNames.push(myDocument.pages.item(myCounter).name);
}
var myChoosePageDialog = app.dialogs.add({name:"Choose a Page", canCancel:false});
with(myChoosePageDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Place INDD on:"});
}
with(dialogColumns.add()){
var myChoosePageDropdown = dropdowns.add({stringList:myPageNames, selectedIndex:0});
}
}
}
myChoosePageDialog.show();
var myPage = myDocument.pages.item(myChoosePageDropdown.selectedIndex);
myChoosePageDialog.destroy();
return myPage;
}
function myPlaceINDD(myDocument, myPage, myINDDFile){
var myINDDPage;
var myCounter = 1;
var myBreak = false;
while(myBreak == false){
if(myCounter > 1){
myPage = myDocument.pages.add(LocationOptions.after, myPage);
}
app.importedPageAttributes.pageNumber = myCounter;
myINDDPage = myPage.place(File(myINDDFile), [0,0])[0];
if(myCounter == 1){
var myFirstPage = myINDDPage.pageNumber;
}
else{
if(myINDDPage.pdfAttributes.pageNumber == myFirstPage){
myPage.remove();
myBreak = true;
}
}
myCounter = myCounter + 1;
}
}


Ein spontaner einfacher Test ist mir geglückt.
Aber ich habe mir dieses Skript nicht intensiv angeschaut.
Deshalb bitte ich um Rückmeldung bei Problemen.

(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2009, 18:03 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 8. Jun 2009, 18:03