hilfdirselbst.ch
Facebook Twitter gamper-media
peterID23
Beiträge: 3
28. Jun 2018, 16:47
Beitrag #1 von 5
Bewertung:
(308 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus 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
Top
 
X
Ingo Herber p
Beiträge: 432
29. Jun 2018, 14:00
Beitrag #2 von 5
Beitrag ID: #564618
Bewertung:
(255 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus 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 64bit | Adobe CC 2018
als Antwort auf: [#564591] Top
 
peterID23
Beiträge: 3
29. Jun 2018, 14:08
Beitrag #3 von 5
Beitrag ID: #564619
Bewertung:
(253 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus 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
als Antwort auf: [#564618] Top
 
Ingo Herber p
Beiträge: 432
29. Jun 2018, 14:18
Beitrag #4 von 5
Beitrag ID: #564620
Bewertung:
(250 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus 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 64bit | Adobe CC 2018
als Antwort auf: [#564619] Top
 
peterID23
Beiträge: 3
29. Jun 2018, 15:16
Beitrag #5 von 5
Beitrag ID: #564621
Bewertung:
(237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript> Export Einzel-PDF mit Dateiname aus Lesezeichen


 
Schade...Vielleicht hilft uns ja ein Skripter aus der Community =)
als Antwort auf: [#564620] Top
 
X