[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt [JavaScript] PDFs verschieben ...

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

[JavaScript] PDFs verschieben ...

flobuc
Beiträge gesamt: 246

23. Nov 2009, 09:04
Beitrag # 16 von 28
Beitrag ID: #424909
Bewertung:
(10730 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das könnte passieren. Ich hab hier nochmal eine kleine Überprüfung eingebaut ob das File schon existiert bevor kopiert und gelöscht wird.

Code
//aktuelles Dokument  
var currentDocument=app.activeDocument;

//Neuer Basisordner erzeugen
var baseFolder = new Folder("/c/Hier_neuer_Basis_Pfad");
if(!baseFolder.exists){
baseFolder.create();
}

for(j=0;j < currentDocument.links.length; j++){ // durchlaufe alle Links im Dokument
var aLink = currentDocument.links[j];

if(aLink.status==LinkStatus.NORMAL){ //Verknüpfung stimmt
if(aLink.linkType=="Adobe Portable Document Format (PDF)"){
var f = new File(aLink.filePath);
//Unterordner erzeugen
var subfolderName = f.path.substring(f.path.lastIndexOf("/")+1, f.path.length);
var subfolder = new Folder(baseFolder+"/"+subfolderName);
if(!subfolder.exists){
subfolder.create();
}

var newFilename = baseFolder+"/"+ subfolderName +"/"+f.name;
var newFile = new File(baseFolder+"/"+ subfolderName +"/"+f.name);
if(!newFile.exists){
f.copy(newFilename);
aLink.relink(newFile);
f.remove();
}
}
}
}

currentDocument.links.everyItem().update();



Gruss

Flo


als Antwort auf: [#424906]
X

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

23. Nov 2009, 09:28
Beitrag # 17 von 28
Beitrag ID: #424912
Bewertung:
(10724 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

gibt es eigentlich kein Move, also so etwas wie
var f = new File(filePath);
f.Move(newFilePath)?


als Antwort auf: [#424909]

[JavaScript] PDFs verschieben ...

Martin Fischer
  
Beiträge gesamt: 12891

23. Nov 2009, 09:55
Beitrag # 18 von 28
Beitrag ID: #424919
Bewertung:
(10706 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nein.

copy() und remove(), wie von Florian angewandt.


als Antwort auf: [#424912]
(Dieser Beitrag wurde von Martin Fischer am 23. Nov 2009, 10:06 geändert)

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

23. Nov 2009, 10:03
Beitrag # 19 von 28
Beitrag ID: #424921
Bewertung:
(10700 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke,

auch kein Rename? Move und Rename sind oft in Ihrer Funktion identisch.


als Antwort auf: [#424919]

[JavaScript] PDFs verschieben ...

Martin Fischer
  
Beiträge gesamt: 12891

23. Nov 2009, 10:07
Beitrag # 20 von 28
Beitrag ID: #424924
Bewertung:
(10699 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok. Rename() ist vorhanden. ;-)
Code
rename()  

fileObj.rename (newName)
newName The new file name, with no path.

Renames the associated file. Does not resolve aliases, but renames the referenced alias or shortcut
file itself.

Returns true on success.



als Antwort auf: [#424921]

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

23. Nov 2009, 10:11
Beitrag # 21 von 28
Beitrag ID: #424928
Bewertung:
(10694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke,

ich habe das gerade selbst nachgesehen, leider ohne Pfad. da wurde wohl ein wenig Funktionalität ausgeklammert.

MSJava kann das, bei Sun weiß ich es nicht.


als Antwort auf: [#424924]

[JavaScript] PDFs verschieben ...

flobuc
Beiträge gesamt: 246

23. Nov 2009, 10:11
Beitrag # 22 von 28
Beitrag ID: #424929
Bewertung:
(10695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

einen "move"-Befehl gibt es nicht. Nur "copy" und "remove".

Aber vielleicht kann mir hier im Forum einer die Funktion "changePath" erklären. Wofür braucht man denn diese Funktion? Man ändert den Pfad eines File oder Folder-Objekts, aber man verschiebt ihn nicht. Kennt jemand einen Anwendungsfall wo das relevant wäre?

Gruss

Flo


als Antwort auf: [#424912]

[JavaScript] PDFs verschieben ...

kkauer
Beiträge gesamt: 661

23. Nov 2009, 10:39
Beitrag # 23 von 28
Beitrag ID: #424934
Bewertung:
(10677 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ WernerPerplies ] MSJava kann das, bei Sun weiß ich es nicht.

und was hat das mit dem hier diskutierten JavaSCRIPT zu tun?


als Antwort auf: [#424928]

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

24. Nov 2009, 07:39
Beitrag # 24 von 28
Beitrag ID: #425086
Bewertung:
(10619 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Flo,

wenn ich die Doku richtig interpretiere:
(changePath()
fileObj.changePath (path)
path A string containing the new path, absolute or relative to the current folder.
Changes the path specification of the referenced file.
Returns true on success.

Ändert ChangePath den Pfad des Filobjects:

Nicht getestete Beispielanwendung (bitte ggf. korrigieren):

var workFile = new File("/InDesign/Kunden/Maier/myFile.txt");
workFile.ChangePath("/InDesign/Kunden/Müller/);
workfFile.Path -> "/InDesign/Kunden/Müller/

Du müsstest dann mal testen, was man mit dem geänderten Fileobject anfangen kann.

HTH


als Antwort auf: [#424934]

[JavaScript] PDFs verschieben ...

flobuc
Beiträge gesamt: 246

24. Nov 2009, 08:45
Beitrag # 25 von 28
Beitrag ID: #425092
Bewertung:
(10606 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

genau so ist es.
Und ich überlege was ich mit einem derart geänderten File-Objekt anfangen soll?

Gruss

Flo


als Antwort auf: [#425086]

[JavaScript] PDFs verschieben ...

Martin Fischer
  
Beiträge gesamt: 12891

24. Nov 2009, 08:52
Beitrag # 26 von 28
Beitrag ID: #425095
Bewertung:
(10602 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Florian,

> Und ich überlege was ich mit einem derart geänderten File-Objekt anfangen soll?

Mir geht es wie Dir.
Bin auch etwas ratlos.


als Antwort auf: [#425092]

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

24. Nov 2009, 09:10
Beitrag # 27 von 28
Beitrag ID: #425096
Bewertung:
(10590 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Flo,

ich programmiere ja nicht mit JavaScript, aber warum probierst Du nicht einfach mal etwas aus?

Wie wäre es mit

workfFile.Write("Diesen Text"), einmal ohne existierenden Pfad, wenn's einen Fehler gibt mit existierendem Pfad.

Generell hast Du wohl nach ChangePath ein FileObject, das alle Eigenschaften der Ursprungsdatei hat, z. B.:

Mac: Creator,
displayName
encoding,
eventurell exists, falls die Datei mit geändertem Pfad auch existiert.
fsName
...


als Antwort auf: [#425092]

[JavaScript] PDFs verschieben ...

WernerPerplies
Beiträge gesamt: 2819

24. Nov 2009, 09:20
Beitrag # 28 von 28
Beitrag ID: #425099
Bewertung:
(10585 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

vielleicht z. B. so etwas:

var workFile = new File("/InDesign/Kunden/Maier/myFile.txt");
workFile.ChangePath("/InDesign/Kunden/Müller/);
workFile.Linefeed = "\r\n";
workFile.Write(MacString);
müsste doch eine PC-Datei mit korrektem Zeilenende erzeugen?

oder den CreatorType ändern...


als Antwort auf: [#425095]
X