Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Skript > Export Einzel-PDF mit Dateiname aus Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen

peterID23
Beiträge gesamt: 3

28. Jun 2018, 16:47
Bewertung:

gelesen: 3689

Beitrag als Lesezeichen
Hallo,

ich lese schon eine Weile fleißig mit und möchte nun einen Export-Skript um eine weitere Funktion erweitern, allerdings bin ich auf dem Gebiet totaler Anfänger und brauche Hilfe.

Der Skript kann einzelne PDF-Dateien ausgeben, hierzu ist es möglich, die gewünschten Seiten zu markieren. Das funktioniert auch alles super, nun möchte ich aber das er zusätzlich die Dateinamen aus den vorhandenen Lesezeichen übernimmt (in meinem Dokumenten haben alle Seiten eine andere Bezeichnung > Deckblatt, Seite 1 … Rückseite usw.).

Ich hoffe, Ihr könnt mir Helfen und bedanke mich schon einmal für eure Mühe.

Code
//DESCRIPTION: Print selected pages 
//=============================================================
// Script by Luis Felipe Corullón
// Contato: lf@corullon.com.br
// Site: http://lf.corullon.com.br
// Export functions by: Smart Mix smartmix | https://smartmix.it
//=============================================================


if (!app.documents.length || (app.documents.length && !app.documents[0].visible)) {
alert("There is no opened document(s).","Script by LFCorullón");
}
else {
var myPages = [];
for (var p=0; p<app.activeDocument.pages.length; p++) {
myPages.push(app.activeDocument.pages[p].name);
}

var selectPgs = new Window ("dialog", "Script by LFCorullón");
var pgGroup = selectPgs.add("group");
pgGroup.orientation = "column";
pgGroup.alignChildren = "left";
pgGroup.add("statictext", undefined, "Select pages you want to print");
var pgsList = pgGroup.add("listbox", [0, 0, 170, 150], myPages, {multiselect: true});
pgsList.selection = 0;

var type = selectPgs.add("group");
type.orientation = "row";
var myJPG = type.add ("checkbox", undefined, "JPG");
var myPDF = type.add ("checkbox", undefined, "PDF");
var myPNG = type.add ("checkbox", undefined, "PNG");

var btn = selectPgs.add("group");
btn.orientation = "row";
btn.alignment = ["right", "top"];
var okBtn = btn.add ("button", undefined, "OK", {name:"OK"});
var cancelBtn = btn.add ("button", undefined, "Cancel", {name:"Cancel"});

var result = selectPgs.show();

if(result == 1){
var selectedPgs = [];
for (var i=0; i<pgsList.selection.length; i++) {
selectedPgs.push(pgsList.selection[i].text);
}
//~ alert(selectedPgs);
if (myJPG.value == true) {
exportJPG(selectedPgs)
}
if (myPDF.value == true) {
exportPDF(selectedPgs)
}
if (myPNG.value == true) {
exportPNG(selectedPgs)
}
}
else {
exit();
}
}

//~ ***************************
//~ * EXPORTATION FUNCTIONS
//~ Export functions by: Smart Mix smartmix | https://smartmix.it
//~ ***************************

function exportPDF(selectedPgs){

var theFolder = Folder.selectDialog("Choose a folder for export");
if (theFolder == null) {
exit();
}

app.pdfExportPreferences.pageRange = selectedPgs.join(",");
var curDoc = app.documents[0];
var fileName = curDoc.name.replace(/.indd$/,"");

try {
curDoc.exportFile(ExportFormat.PDF_TYPE , File(theFolder + "/" + fileName+'.pdf') , true);

}catch(e) {
alert(e);
}

app.pdfExportPreferences.pageRange = "";

}


function exportPNG(selectedPgs){

var theFolder = Folder.selectDialog("Choose a folder for export");
if (theFolder == null) {
exit();
}

app.pngExportPreferences.pngExportRange = PNGExportRangeEnum.EXPORT_RANGE;
app.pngExportPreferences.pageString = selectedPgs.join(",");

var curDoc = app.documents[0];
var fileName = curDoc.name.replace(/.indd$/,"");

try {
curDoc.exportFile(ExportFormat.PNG_FORMAT , File(theFolder+'/'+fileName+'.png') , true);

}catch(e) {
alert(e);
}
app.pngExportPreferences.pngExportRange = PNGExportRangeEnum.EXPORT_ALL;
}


function exportJPG(selectedPgs){

var theFolder = Folder.selectDialog("Choose a folder for export");
if (theFolder == null) {
exit();
}

app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.EXPORT_RANGE;
app.jpegExportPreferences.pageString = selectedPgs.join(",");

var curDoc = app.documents[0];
var fileName = curDoc.name.replace(/.indd$/,"");

try {
curDoc.exportFile(ExportFormat.JPG , File(theFolder+'/'+fileName+'.jpg') , true);

}catch(e) {
alert(e);
}
app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.EXPORT_ALL;
}


lg
peterID23

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen

Ingo Herber
Beiträge gesamt: 454

29. Jun 2018, 14:00
Bewertung:

gelesen: 3636

Beitrag als Lesezeichen
Hallo,
evtl. hilft das schon mal weiter:
https://www.hilfdirselbst.ch/...520dateinamen#487962
Das Skript nutze ich zum Exportieren als JPG/PDF.
Es werden nur Seiten mit Lesezeichen berücksichtigt, Dateiname=Lesezeichen.

Es wäre sehr elegant, wenn auch hier nur die ausgewählten Seiten berücksichtigt werden.

Gruß,
Ingo
_______________________
Windows 10 prof. | Adobe CC 2023 | Adobe CC 2024

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen

peterID23
Beiträge gesamt: 3

29. Jun 2018, 14:08
Bewertung:

gelesen: 3634

Beitrag als Lesezeichen
 
Habe dein Skript gerade ausprobiert und das ist genau die Funktion, die ich für den oben stehenden Skript noch benötige.
Jetzt müsste man die beiden Skript nur „noch“ kombinieren, um die perfekte Lösung zu erhalten. Könntest du mir dabei helfen?

lg
peterID23

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen

Ingo Herber
Beiträge gesamt: 454

29. Jun 2018, 14:18
Bewertung:

gelesen: 3631

Beitrag als Lesezeichen
Antwort auf: Könntest du mir dabei helfen?


Hallo Peter,
leider nein, mit Scripten habe ich es auch nicht.
Gruß,
Ingo
_______________________
Windows 10 prof. | Adobe CC 2023 | Adobe CC 2024

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen

peterID23
Beiträge gesamt: 3

29. Jun 2018, 15:16
Bewertung:

gelesen: 3618

Beitrag als Lesezeichen
 
Schade...Vielleicht hilft uns ja ein Skripter aus der Community =)