[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt EPS Export (CS5 WIN JSX)

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

EPS Export (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1092

6. Dez 2010, 17:36
Beitrag # 1 von 5
Bewertung:
(1605 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mit folgendem Script wollte ich die EPS Ausgabe automatisieren.
Das Script war ursprünglich für die PDF-Ausgabe gedacht.

Zitat if(app.documents.length != 0){
var myFolder = Folder.selectDialog ("Choose a destination folder");
if(myFolder != null){
var myDocument = app.activeDocument;
var myItems, myDocumentName, myBaseName, myPDFPreset;

displayDialog();
}
}
else{
alert("Please open a document and try again.");
}

function findItems() {
//Clear the find/change preferences.
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
//Set the find options.
app.findChangeTextOptions.caseSensitive = false;
app.findChangeTextOptions.includeFootnotes = false;
app.findChangeTextOptions.includeHiddenLayers = false;
app.findChangeTextOptions.includeLockedLayersForFind = false;
app.findChangeTextOptions.includeLockedStoriesForFind = false;
app.findChangeTextOptions.includeMasterPages = false;
app.findChangeTextOptions.wholeWord = false;

app.findTextPreferences.appliedParagraphStyle = "MeinFormat";
app.findTextPreferences.findWhat = "";
myItems = myDocument.findText();

//Clear the find/change preferences after the search.
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;

// Export the pages
exportPages();
}

function exportPages() {
for (var i = 0; i < myItems.length; i++) {
var myPage = findPage(myItems);

var myPageName = myPage.name;
app.pdfExportPreferences.pageRange = myPageName;

var myNiceFileName = myItems.lines[0].contents; // only get first line, add a string replace() around to remove illigal chars or reg expr
//alert(myNiceFileName);

myPageName = myNiceFileName.replace(/\s/g, '');
myPageName =myPageName.replace(/x/gi, '');
myPageName =myPageName.replace(" ", '');


//var myFilePath = myFolder + "/" + myBaseName + "_" + myNiceFileName + ".pdf";
var myFilePath = myFolder + "/" + myPageName + ".pdf";
var myExportFile = new File(myFilePath);
myDocument.exportFile(ExportFormat.pdfType, myExportFile, false, myPDFPreset);
}
}

function findPage(theObj) {
if (theObj.hasOwnProperty("baseline")) {
theObj = theObj.parentTextFrames[0];
}
while (theObj != null) {
if (theObj.hasOwnProperty ("parentPage")) return theObj.parentPage;
var whatIsIt = theObj.constructor;
switch (whatIsIt) {
case Page : return theObj;
case Character : theObj = theObj.parentTextFrames[0]; break;
case Footnote :; // drop through
case Cell : theObj = theObj.insertionPoints[0].parentTextFrames[0]; break;
case Note : theObj = theObj.storyOffset; break;
case Application : return null;
}
if (theObj == null) return null;
theObj = theObj.parent;
}
return theObj
} // end findPage

function displayDialog() {
myDocumentName = myDocument.name;
var myPDFPresets = app.pdfExportPresets;
var myPDFPresetNames = new Array;
for (i = 0; i < myPDFPresets.length; i++) {
myPDFPresetNames.push(myPDFPresets.name);
}

var myDialog = app.dialogs.add();
with(myDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()) {
staticTexts.add({staticLabel:"Base name:", minWidth:130});
}
with(dialogColumns.add()) {
var myBaseNameField = textEditboxes.add({editContents:myDocumentName, minWidth:160});
}
}
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"PDF preset: ", minWidth:130});
}
with(dialogColumns.add()){
var myPDFPresetsDropdown = dropdowns.add({stringList:myPDFPresetNames, selectedIndex:0});
}
}
}
var myResult = myDialog.show({name:"ExportPages"});
if(myResult == true){
myBaseName = myBaseNameField.editContents;
myPDFPreset = myPDFPresetNames[myPDFPresetsDropdown.selectedIndex];
findItems();
//Remove the dialog box from memory.
myDialog.destroy();
} else{
myDialog.destroy();
}
}


Dabei habe ich diese 3 Zeilen wie folgt geändert:

Code
		var myFilePath = myFolder + "/" +  myPageName + ".eps";   
var myExportFile = new File(myFilePath);
myDocument.exportFile(ExportFormat.epsType, myExportFile);


Nun wird immer die Seite 1 exportiert.
Wie kann ich dem Script sagen. dass es für jede Seite 1 einzelnes EPS exportiert?

Gruss
Christoph
X

EPS Export (CS5 WIN JSX)

Martin Fischer
  
Beiträge gesamt: 12691

6. Dez 2010, 18:21
Beitrag # 2 von 5
Beitrag ID: #459024
Bewertung:
(1591 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ich bin mir nicht sicher, ob dieses CS-Skript in CS4 und höher noch läuft: ExportEachPageAsEPS.js.

Wenn nicht, dann bekommst Du es vielleicht zum Laufen. ;-)


als Antwort auf: [#459016]

EPS Export (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1092

6. Dez 2010, 19:19
Beitrag # 3 von 5
Beitrag ID: #459032
Bewertung:
(1577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Martin,

das Problem bei meinen Script ist, dass es anhand eines Absatzformates den Dateinamen generiert. Nun weiss ich nicht, wie ich Dein Script mit meinem zusammenbringen kann, dass es funktioniert.
Im Grunde fehlt mir nur der Sprung auf die nächste Seite.
Bzw. muss ich irgendwo dem Export mitteilen, welche Seite exportiert werden muss.

Gruss
Christoph


als Antwort auf: [#459024]

EPS Export (CS5 WIN JSX)

Martin Fischer
  
Beiträge gesamt: 12691

6. Dez 2010, 20:11
Beitrag # 4 von 5
Beitrag ID: #459034
Bewertung:
(1568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier, in den EPS-Exportvoreinstellungen, ist der Umfang der zu exportierenden Seiten anzugeben.

Code
app.epsExportPreferences.pageRange = myPageName; 


Bei Dir steht noch pdfExportPreferences.


als Antwort auf: [#459032]
(Dieser Beitrag wurde von Martin Fischer am 6. Dez 2010, 20:12 geändert)

EPS Export (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1092

6. Dez 2010, 21:14
Beitrag # 5 von 5
Beitrag ID: #459039
Bewertung:
(1552 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke lieber Martin,

jetzt klappt es.

Gruss Christoph


als Antwort auf: [#459034]
X