Hoe PDF's herkennen met Applescript?
12 oktober 2005 - 13:03   
geplaatst door: Creator
Dit is mijn huidige code die ik gebruik in een script

   

tell application "Finder"
move (these_items whose name contains " pdf ") to geprint
-- move (these_items whose file type is "pdf") to geprint
end tell

maar helaas het werkt niet, rara wie weet raad!

THx!

Hoe PDF's herkennen met Applescript?
13 oktober 2005 - 11:48    reactie #1
geplaatst door: Creator
Het is de bedoeling, als er in een map een serie files komen de PDF's gekopieerd worden naar een andere map. Maar blijkbaar staat er iets verkeerd in mijn script hier boven.

Rara, wie weet raad! Niemand?

Hoe PDF's herkennen met Applescript?
13 oktober 2005 - 12:57    reactie #2
geplaatst door: EdMac
Ik ben helemaal niet thuis in AppleScript, maar in regel twee zet
je voor en achter pdf een spatie, is dit correct? En bovendien, kan
je in regel twee niet verwijzen naar 'whose file type is "pdf", i.p.v.
name contains " pdf "?

Het is maar een suggestie uiteraard...

"O.. ja.. erhm... da's dan wel goed."
Hoe PDF's herkennen met Applescript?
13 oktober 2005 - 14:12    reactie #3
geplaatst door: Creator
Het zou kunnen dat dit het probleem is.
ik de manual vind ik dit terug

file type A four-character code that indicates the type of the file.
Class: String
Modifiable: Yes

PDF zijn maar 3 karakters? ligt daar de fout? enzo ja, welke letter komt erbij?

Hoe PDF's herkennen met Applescript?
13 oktober 2005 - 15:05    reactie #4
geplaatst door: BFunk
Hoi,

Met het onderstaande script zou het moeten lukken:

tell application "Finder"
  set MijnMap to alias "Macintosh HD:Users:bart:Desktop:Test:"
  set PDFjes to every file of MijnMap whose name ends with ".pdf"
  move PDFjes to alias "Macintosh HD:Users:bart:Desktop:Test 2:"
end tell

Het 'risico' van de bestandsnaam gebruiken is echter dat ook bestanden die geen PDF zijn maar wel de extentie .PDF ook verplaatst worden. Je kunt dit oplossen door een repeat-loop te maken en van elk bestand te kijken of het echt een PDF is, maar daarmee maak je het script (iets) ingewikkelder.

Even een tip over de bronmap en de doelmap:
Je kunt die ook selecteren door 'set BronMap to Choose Folder' en 'set DoelMap to choose folder' te gebruiken. Dat maakt je script iets breder inzetbaar...

Hartelijke groet,


Bart

Hoe PDF's herkennen met Applescript?
14 oktober 2005 - 12:32    reactie #5
geplaatst door: Creator
Een ander probleem komt nu boven. Terwijl de PDF gegeneerd wordt, wordt de file al verplaatst naar de andere map waar het printscript op zit. Dus maw het print script wordt niet uitgevoerd omdat de PDF file nog niet volledig weggeschreven is.

Hoe kan dit opgelost worden? Zodat het script maar uitgevoerd wordt als de PDF volledig is gegenereerd (weggeschreven), met een timer werken zou een mogelijkheid kunnen zijn maar dat is ook niet 100%

Bij het genereren van de PDF wordt er altijd een controle PDF met extensie .APD weggeschreven, zou er een mogelijkheid zijn eens die file weggeschreven is, dat dan pas het script uitgevoerd wordt op deze bestanden?

Of bestaan er daar andere oplossingen voor?

THx!

Hoe PDF's herkennen met Applescript?
14 oktober 2005 - 15:03    reactie #6
geplaatst door: BFunk
Hoi,

De makkelijke oplossing (gewoon 10 seconden wachten voordat het script het PDFje verplaatst).

tell application "Finder"
delay 10
set MijnMap to alias "Macintosh HD:Users:bart:Desktop:Test:"
set PDFjes to every file of MijnMap whose name ends with ".pdf"
move PDFjes to alias "Macintosh HD:Users:bart:Desktop:Test 2:"
end tell

De moeilijke oplossing is dat het script per bestand kijkt hoelang het niet bewerkt is. Elk PDFje kan pas worden verplaatst als het 10 seconden niet is bewerkt (en je er dus zeker van kunt zijn dat het 'af' is).

tell application "Finder"
set MijnMap to alias "Macintosh HD:Users:bart:Desktop:Test:"
set PDFjes to every file of MijnMap whose name ends with ".pdf"
set teVerplaatsen to {}
set Toegevoegd to false
repeat with dezePDF in PDFjes
-- Hier wordt gekeken wanneer dit PDFje voor het laatst is bewerkt (het maken van de PDF is zo'n bewerking)
-- Als het PDFje langer dan 10 seconden niet bewerkt is wordt het beschouwd als 'af' en kan het verplaatst worden.
-- Als het PDFje nog niet af is 'wacht' het script 10 seconden en probeert het dan opnieuw toe tevoegen aan de lijst met PDFjes die verplaatst kunnen worden.
set ModDate to modification date of dezePDF
repeat until Toegevoegd is true
if (((current date) - ModDate) / 60) ? 0.1 then
copy dezePDF to the end of teVerplaatsen
set Toegevoegd to true
else
delay 10
end if
end repeat
set Toegevoegd to false
end repeat
move PDFjes to alias "Macintosh HD:Users:bart:Desktop:Test 2:"
end tell

Hartelijke groet,


Bart

Edit: in de sciptcode van het tweede script is het 'groter-dan-of-gelijkaan' teken vervangen door een vraagteken. Ik weet niet hoe ik dat anders moet doen bij het posten op een site. Vervang in elk geval het vraagteken door het eerder genoemde teken. Dat doe je met option-. (punt).

(Bewerkt door BFunk om 15:06, 14-10-2005)

Hoe PDF's herkennen met Applescript?
17 oktober 2005 - 11:44    reactie #7
geplaatst door: Creator
mmm, het script lijkt niet te werken, ik heb de mappen aangepast zoals in het vorige script. De PDF files blijven staan.

Wat bedoel je precies met "...Vervang in elk geval het vraagteken door het eerder genoemde teken. Dat doe je met option-. (punt)." ? als ik option-. intik krijg ik een punt die wat hoger geplaatst staat dan een gewoon punt (een bolletje dus ;-) )

ik heb het vraagteken ook al veranderd door < > en =

THx!

Hoe PDF's herkennen met Applescript?
22 oktober 2005 - 02:13    reactie #8
geplaatst door: R Laribij
Geen tip over hoe het te maken, maar meer wat er al is.

File Juicer trekt gegevens uit allerhande bestanden. Kijk op versiontracker

http://www.versiontracker.com/dyn/moreinfo/macosx/25085

Toch geen prachtig programma in de kiem gesmoord, hoop ik? :blush: