Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

JuMayr
Beiträge gesamt: 96

21. Sep 2018, 01:12
Bewertung:

gelesen: 1847

Beitrag als Lesezeichen
Hi zusammen,

ich bin als Scripting Noob schon echt weit gekommen, aber jetzt brauche ich mal einen Profi:)

Dieses Script soll erweitert werden und neben dem PDF auch JPEG oder PNG exportieren.

Code
 
#target indesign

//Deaktivieren der Abfrage beim Öffnen der Dateien wenn sich eine Verknüpfung geändert hat.
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.neverInteract;

//Definieren der aktuellen Sprache DE oder EN
//EN2 und DE2, da im Dokument Aufgaben_DE als Source verwendet wird. Die jeweilige Sprachdatei wird dann umkopiert und überschreibt die aktuelle Source.
//Beim Einbinden eines neuen Datensourcefiles würde Komma als Trennzeichen verwendet und nicht Tabstop.
var myLang = [];
//myLang.push("EN2");
myLang.push("DE_Geburtstag");
myLang.push("DE_Hochzeit");
myLang.push("DE2");


//Definieren der KundenURL mit Kommentar zur Bestellung
var URL = [];
URL.push("WWW.PHOTOBOOTH-DELUXE.DE");
//URL.push(""); //
//URL.push(""); //


//Schleife durch die URL-Liste
for ( u=0; u < URL.length; u++ ) {

//Ordner für den Kunden erstellen
var f = new Folder("O:/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Kundenexport/" + URL[u] + "/");
if (!f.exists)
f.create();

//Definition des Ordners in dem die Indd Files mit den Layouts liegen. Wird für die Funktion getSubFolders verwendet.
var myFolder = Folder("/O/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Layouts")
if ( myFolder != null ) {
var myFiles = [];

//Ermittle alle Indd Dateien im Layouts Ordner (inkl. Subfolder)
GetSubFolders(myFolder);

//Schleife durch alle gefundenen Indd-Files aus dem Layoutordner
if ( myFiles.length > 0 ) {
for ( i=0; i < myFiles.length; i++ ) {

//Schleife durch die ausgewählten Sprachdateien
for ( l=0; l< myLang.length; l++) {
$.writeln(URL + " - " + myLang[l] + " - " + myFiles[i]);

//Öffnen der Indd-Datei
app.open(myFiles[i]);

//Umbenennen der Textvariablen URL in die Kunden URL
app.activeDocument.textVariables.item ('URL').variableOptions.contents = URL[u];

var myDoc = app.activeDocument;

// Kopieren der Aufgabenliste in den Kundenordner
File("/O/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Aufgaben_" + myLang[l] + ".csv").copy(File("O:/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Kundenexport/" + URL[u] + "/Aufgaben_" + myLang[l] + ".csv"));
$.sleep(500);

// Überschreiben des Datasourcefiles mit der aktuell gewählten Sprache
File("/O/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Aufgaben_" + myLang[l] + ".csv").copy(File("/O/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Aufgaben_DE.csv"));
$.sleep(500);

//Aktuallisieren des Indd Dokuments mit den neuen Datasourcewerten.
myDoc.dataMergeProperties.updateDataSource();

//Exportieren der Datenzusammenführung als PDF
var myLocation = "O:/Originaldaten/Dropbox/Photobooth_Manufaktur/Props/Aufgaben/Kundenexport/" + URL[u] + "/"
var myName = (myDoc.name.replace(".indd",""));
var myExport = myLocation + myName + "_" + myLang[l] + ".pdf"
myDoc.dataMergeProperties.exportFile(myExport, "[Qualitativ hochwertiger Druck]", );

//************************************************************
//HIER MÜSSTE NUN NOCH DER EXPORT ALS JPG ODER PNG REIN.
//DIE DATEIEN SOLLEN WIE DAS PDF BENANNT WERDEN MIT _lfdNummer
//************************************************************

app.documents.everyItem().close(SaveOptions.NO);
}
}
}
}
}


function GetSubFolders(theFolder) {
var myFileList = theFolder.getFiles();
for (var i = 0; i < myFileList.length; i++) {
var myFile = myFileList[i];
if (myFile instanceof Folder){
GetSubFolders(myFile);
}
else if (myFile instanceof File && myFile.name.match(/\.indd$/i)) {
myFiles.push(myFile);
}
}
}


Kann sich einer der anwesenden Profis dem Problem annehmen. Selbstverständlich bezahle ich ordentlich:)

Gruß
Jürgen

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

Kai Rübsamen
Beiträge gesamt: 4633

21. Sep 2018, 12:40
Bewertung:

gelesen: 1815

Beitrag als Lesezeichen
Hallo Jürgen, interessierte Skripter werden sich per PM bei dir melden. Ich verstehe allerdings das Problem nicht, wenn der Rest schon passt.

Entweder hier oder im Adobe-Skripting-Forum sollten sich doch Beispiele für den Bild-Export finden lassen?!
Gruß Kai Rübsamen

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

JuMayr
Beiträge gesamt: 96

21. Sep 2018, 21:02
Bewertung:

gelesen: 1789

Beitrag als Lesezeichen
Hi,

naja.. dieses Script hat mich schon STUNDEN gekostet und das mit dem Jpeg Export habe ich einfach nicht geschafft.
Vermutlich ne Kleinigkeit wenn man weiß wie es geht:)

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

JuMayr
Beiträge gesamt: 96

21. Sep 2018, 21:15
Bewertung:

gelesen: 1783

Beitrag als Lesezeichen
ERBARMT SICH JEMAND?

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

WernerPerplies
Beiträge gesamt: 2395

22. Sep 2018, 07:37
Bewertung:

gelesen: 1753

Beitrag als Lesezeichen
Hallo JuMayr,

falls sich noch immer niemand gemeldet hat, kannst Du Dich mal bei mir melden.

Stelle mir aber bitte auf jeden Fall notwendige Dateien (csv + idml) zur Verfügung.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

JuMayr
Beiträge gesamt: 96

22. Sep 2018, 20:45
Bewertung:

gelesen: 1720

Beitrag als Lesezeichen
Danke Werner,

ich glaube ich habe es mit den Hinweisen die ich bekommen habe hinbekommen. Teste gerade:)

DANKE an das Forum:)

PAYJOB: Anpassung eines Scripts für Datenzusammenführung und Export

WernerPerplies
Beiträge gesamt: 2395

23. Sep 2018, 07:29
Bewertung:

gelesen: 1699

Beitrag als Lesezeichen