[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skript für PDF Export

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

Skript für PDF Export

atrachsel
Beiträge gesamt: 93

20. Sep 2011, 07:22
Beitrag # 1 von 9
Bewertung:
(4308 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Ich habe hier ein Skript gefunden für den PDF Export.
Leider brauche ich nur 2 Varianten und zwar für Druckausgabequalität und für PDFX-ready_Classic_CS4_V1.2 ohne Beschnitt.

Nun weiss ich nicht genau was ich im vorhandenen Skript löschen muss.

Kann mir da jemand weiterhelfen?


Hier das Skript:
//indd2pdf.js
//
// Exportiert alle InDesign-Dateien (mit der Endung ".indd") eines während der Ausführung des Skripts
// auszuwählenden Verzeichnisses in PDF-Dateien.
// Dabei werden verschiedene PDF-Vorgabesets verwendet (s.u. PDF-Vorgabesets).
// Beim Export erhalten die PDF-Dateien den Namen des InDesign-Dokuments (ohne die Endung ".indd"),
// zuzüglich einem Trennzeichen ("_") und dem Namen des PDF-Vorgabesets, das zur Herstellung der PDF-
// Datei verwendet wurde.
// Als Vorgabesets werden entweder (1.) alle vorhandenen PDF-Vorgabesets verwendet (Voreinstellung) oder
// nur die Vorgabesets, die in der Liste unter 2. angegeben sind. Zur Aktivierung / Deaktivierung der einen oder anderen
// Einstellung bitte die Zuweisung auskommentieren bzw. den Kommentar entfernen.
//
//
// PDF-Vorgabesets
// bitte Vorgaben unter 1. oder 2. durch Löschen der Kommentierung wählen
//
// 1. alle vorhandenen Vorgaben berücksichtigen
var myPresets = myGetPDFPresets();
//
// 2. nur die unten angegebenen Vorgaben berücksichtigen
// var myPresets = ["Laserdruck", "email"];

var myDir = Folder.selectDialog ("Choose a Folder...");

var myDocs = Folder(myDir).getFiles('*.indd');
for( oneDoc = 0 ; oneDoc < myDocs.length ; oneDoc++ ){
myFile = app.open( myDocs[oneDoc]);
for (onePreset=0; onePreset < myPresets.length; onePreset++){
var pdfFile = new File( myDocs[oneDoc].path +'/' + cutFileName(myDocs[oneDoc].name ) + '_' + myCleanFileName(myPresets[onePreset]) + '.pdf' )
try{
myFile.exportFile(ExportFormat.pdfType, pdfFile, false, myPresets[onePreset]);
}
catch(e){
alert("Error\nIst das Vorgabeset \"" + myPresets[onePreset] + "\" tatsächlich vorhanden?")
};
}
app.activeDocument.close( )
}

// Funktion zum Abtrennen der Dateiendung
function cutFileName (oneFile) {
return oneFile.substring (0, oneFile.length-5)
}

// Funktion zum Einlesen der PDF-Vorgabesets
function myGetPDFPresets(){
var myPDFPresets = new Array;
for(var onePreset = 0; onePreset < app.pdfExportPresets.length; onePreset++){
myPDFPresets.push(app.pdfExportPresets.item(onePreset).name);
}
return myPDFPresets;
}

// Funktion zum Ersetzen von (hinsichtlich des Dateisystems) problematischen
// Zeichen im Namen eines Vorgabesets (Slash, Backslash, Doppelpunkt)
function myCleanFileName(oneFilename){
var oneFilename = String(oneFilename.split('/').join('_').split('\\').join('_').split(':').join('¯'));
return oneFilename;
}
X

Skript für PDF Export

Ralf Hobirk
Beiträge gesamt: 5961

20. Sep 2011, 12:31
Beitrag # 2 von 9
Beitrag ID: #480572
Bewertung:
(4263 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe hier eine geänderte Variante des Scripts (Original von Martin Fischer), in die ich die gewünschte PDF-Vorgabe "fest eingebaut" habe. Siehe im Code rot ausgezeichnete PDF-Vorgabe.

Code
// Modul210.jsx   
// Original "doc2pdf" von Martin Fischer
//

var myPresets = ["ID Modul 210"];

var myDoc = app.documents.firstItem();
var myFilePath = (myDoc.saved == true)
? myDoc.filePath
: '~/Desktop';
for (onePreset=0; onePreset < myPresets.length; onePreset++){
var pdfFile = new File( myFilePath +'/' + cut_suffix(myDoc.name ) + '.pdf' )
try{
myDoc.exportFile(ExportFormat.pdfType, pdfFile, false, myPresets[onePreset]);
}
catch(e){
alert("Error\nIst das Vorgabeset \"" + myPresets[onePreset] + "\" tatsächlich vorhanden?")
};
}

// Funktion zum Abtrennen der Dateiendung
function cut_suffix (oneFile) {
return oneFile.replace(/\.indd$/i, '') ;
}

// Funktion zum Einlesen der PDF-Vorgabesets
function myGetPDFPresets(){
var myPDFPresets = new Array;
for(var onePreset = 0; onePreset < app.pdfExportPresets.length; onePreset++){
myPDFPresets.push(app.pdfExportPresets.item(onePreset).name);
}
return myPDFPresets;
}

// Funktion zum Ersetzen von (hinsichtlich des Dateisystems) problematischen
// Zeichen im Namen eines Vorgabesets (Slash, Backslash, Doppelpunkt)
function myCleanFileName(oneFilename){
var oneFilename = String(oneFilename.split('/').join('_').split('\\').join('_').split(':').join('¯'));
return oneFilename;
}



als Antwort auf: [#480543]
(Dieser Beitrag wurde von Martin Fischer am 2. Nov 2012, 12:16 geändert)

Skript für PDF Export

atrachsel
Beiträge gesamt: 93

20. Sep 2011, 13:13
Beitrag # 3 von 9
Beitrag ID: #480579
Bewertung:
(4251 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für Deine Hilfe.
Leider kenne ich mich mit den Skripten nicht so aus.
Was genau muss ich nun bei der rot markierten Stelle eingeben?

Ich habe es mit PDFX-ready versucht aber das funktioniert leider nicht.


als Antwort auf: [#480572]

Skript für PDF Export

Ralf Hobirk
Beiträge gesamt: 5961

20. Sep 2011, 15:06
Beitrag # 4 von 9
Beitrag ID: #480591
Bewertung:
(4221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Was genau muss ich nun bei der rot markierten Stelle eingeben?

Den Namen deiner in InDesign gespeicherten PDF-Export-Vorgabe.


als Antwort auf: [#480579]

Skript für PDF Export

atrachsel
Beiträge gesamt: 93

20. Sep 2011, 21:29
Beitrag # 5 von 9
Beitrag ID: #480628
Bewertung:
(4189 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das würde dann für PDF X ready so aussehen?

// Modul210.jsx // Original "doc2pdf" von Martin Fischer // var myPresets = ["ID Modul PDFX-ready"]; var myDoc = app.documents.firstItem(); var myFilePath = (myDoc.saved == true) ? myDoc.filePath : '~/Desktop'; for (onePreset=0; onePreset < myPresets.length; onePreset++){ var pdfFile = new File( myFilePath +'/' + cut_suffix(myDoc.name ) + '.pdf' ) try{ myDoc.exportFile(ExportFormat.pdfType, pdfFile, false, myPresets[onePreset]); } catch(e){ alert("Error\nIst das Vorgabeset \"" + myPresets[onePreset] + "\" tatsächlich vorhanden?") }; } // Funktion zum Abtrennen der Dateiendung function cut_suffix (oneFile) { return oneFile.replace(/.indd$/i, '') ; } // Funktion zum Einlesen der PDF-Vorgabesets function myGetPDFPresets(){ var myPDFPresets = new Array; for(var onePreset = 0; onePreset < app.pdfExportPresets.length; onePreset++){ myPDFPresets.push(app.pdfExportPresets.item(onePreset).name); } return myPDFPresets; } // Funktion zum Ersetzen von (hinsichtlich des Dateisystems) problematischen // Zeichen im Namen eines Vorgabesets (Slash, Backslash, Doppelpunkt) function myCleanFileName(oneFilename){ var oneFilename = String(oneFilename.split('/').join('_').split('\\').join('_').split(':').join('¯')); return oneFilename; }


als Antwort auf: [#480591]

Skript für PDF Export

Ralf Hobirk
Beiträge gesamt: 5961

20. Sep 2011, 21:34
Beitrag # 6 von 9
Beitrag ID: #480629
Bewertung:
(4185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Uff, wer soll das denn lesen können?

Bitte poste Code demnächst mit den entsprechenden Tags (Button links unterhalb des Texteingabe-Feldes).

Ansonsten: Wenn die von dir in InDesign angelegte PDF-Export-Vorgabe ("Adobe PDF Preset" in der englischen Version) "ID Modul PDFX-ready" heißt, dann ist es so korrekt. Wobei ich jetzt nicht den Rest des Code-Salates dechiffrieren werde…


als Antwort auf: [#480628]

Skript für PDF Export

Migge
Beiträge gesamt: 2

16. Nov 2011, 09:15
Beitrag # 7 von 9
Beitrag ID: #484493
Bewertung:
(3819 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Könnte der Skript auch so abgeändert werden, damit gleich 2 PDFs erzeugt werden? z.B. PDF 1 mit «Adobe PDF-Vorgabe: TEST1» und PDF 2 mit «Adobe PDF-Vorgabe: TEST2».

PDF 1 mit Dokumentname (ohne indd, wie es jetzt bereits ist) und PDF 2 zusätzliche mit _TEST2 am Ende.

So etwas wäre für mich sehr hilfreich.
Viele Dank im Voraus.
Mike


als Antwort auf: [#480629]

Skript für PDF Export

Ralf Hobirk
Beiträge gesamt: 5961

16. Nov 2011, 09:45
Beitrag # 8 von 9
Beitrag ID: #484498
Bewertung:
(3801 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Migge,

willkommen auf HDS!

Antwort auf: Könnte der Skript auch so abgeändert werden, damit gleich 2 PDFs erzeugt werden?

Klar, ganz einfach. Sogar für mich als Nicht-Skripter ;-)

Einfach den Script-Code duplizieren und die rot markierten Stellen modifizieren:

Code
// PDF_Export_High_Low.jsx    
// Original "doc2pdf" von Martin Fischer
//

//========================================
//Schritt 1: Export in Druckauflösung
//========================================


var myPresets = ["ID Modul 210"];

var myDoc = app.documents.firstItem();
var myFilePath = (myDoc.saved == true)
? myDoc.filePath
: '~/Desktop';
for (onePreset=0; onePreset < myPresets.length; onePreset++){
var pdfFile = new File( myFilePath +'/' + cut_suffix(myDoc.name ) + '.pdf' )
try{
myDoc.exportFile(ExportFormat.pdfType, pdfFile, false, myPresets[onePreset]);
}
catch(e){
alert("Error\nIst das Vorgabeset \"" + myPresets[onePreset] + "\" tatsächlich vorhanden?")
};
}

// Funktion zum Abtrennen der Dateiendung
function cut_suffix (oneFile) {
return oneFile.replace(/\.indd$/i, '') ;
}

// Funktion zum Einlesen der PDF-Vorgabesets
function myGetPDFPresets(){
var myPDFPresets = new Array;
for(var onePreset = 0; onePreset < app.pdfExportPresets.length; onePreset++){
myPDFPresets.push(app.pdfExportPresets.item(onePreset).name);
}
return myPDFPresets;
}

// Funktion zum Ersetzen von (hinsichtlich des Dateisystems) problematischen
// Zeichen im Namen eines Vorgabesets (Slash, Backslash, Doppelpunkt)
function myCleanFileName(oneFilename){
var oneFilename = String(oneFilename.split('/').join('_').split('\\').join('_').split(':').join('¯'));
return oneFilename;
}

//========================================
//Schritt 2: Export in Bildschirmauflösung
//========================================

var myPresets = ["ID Screen 96 RGB"];

var myDoc = app.documents.firstItem();
var myFilePath = (myDoc.saved == true)
? myDoc.filePath
: '~/Desktop';
for (onePreset=0; onePreset < myPresets.length; onePreset++){
var pdfFile = new File( myFilePath +'/' + cut_suffix(myDoc.name ) + '_LowRes' + '.pdf' )
try{
myDoc.exportFile(ExportFormat.pdfType, pdfFile, false, myPresets[onePreset]);
}
catch(e){
alert("Error\nIst das Vorgabeset \"" + myPresets[onePreset] + "\" tatsächlich vorhanden?")
};
}

// Funktion zum Abtrennen der Dateiendung
function cut_suffix (oneFile) {
return oneFile.replace(/.indd$/i, '') ;
}

// Funktion zum Einlesen der PDF-Vorgabesets
function myGetPDFPresets(){
var myPDFPresets = new Array;
for(var onePreset = 0; onePreset < app.pdfExportPresets.length; onePreset++){
myPDFPresets.push(app.pdfExportPresets.item(onePreset).name);
}
return myPDFPresets;
}

// Funktion zum Ersetzen von (hinsichtlich des Dateisystems) problematischen
// Zeichen im Namen eines Vorgabesets (Slash, Backslash, Doppelpunkt)
function myCleanFileName(oneFilename){
var oneFilename = String(oneFilename.split('/').join('_').split('\\').join('_').split(':').join('¯'));
return oneFilename;
}

//========================================
//Schritt 3: Sichern und Schließen des Dokumentes
//(falls gewünscht, sonst mit "//" auskommentieren)
//========================================

app.activeDocument.save();
app.activeDocument.close();



als Antwort auf: [#484493]
(Dieser Beitrag wurde von Martin Fischer am 2. Nov 2012, 12:16 geändert)

Skript für PDF Export

Migge
Beiträge gesamt: 2

16. Nov 2011, 10:06
Beitrag # 9 von 9
Beitrag ID: #484505
Bewertung:
(3792 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Ralf

So schnell und dann noch genau so wie ich es mir vorgestellt habe :)

Perfekt, Merci


als Antwort auf: [#484498]
X