Jump to content
  • 0

Applescript: open afbeelding en sla op


Vitruvius

Question

Posted

Om afbeeldingen te roteren in filemaker kan ik manueel het volgende doen

1) ik klik op de afbeelding wat eigenlijk een knop is die de afbeelding in kwestie open doet (via event verzenden en het path van de afbeelding in kwestie) -> concreet gaat de afbeelding open in voorvertoning

2) sla het bestand op (zonder verder iets te wijzigen, want de rotatie staat goed in voorvertoning)

3) gaat naar het vorige en dan naar het volgende record in filemaker (om de record te refreshen) -> de afbeelding staat nu goed in filemaker

 

Dacht ik dat dus te automatiseren door op een knopje te drukken via een Apple script

 

"set this_file to AFBEELDING
try
 tell application "Image Events"
 launch
 set this_image to open this_file
 save this_image with icon
 close this_image
 end tell
on error error_message
 display dialog error_message
end try"

 

In het applescript pas ik via een substitute eerst AFBEELDING aan in het juiste path

 

maar dat werkt dus niet

Ik krijg de boodschap van filemaker: Verwachtte expressie maar vond onbekend token. en Onbekende fout: -2741.

Wat doe ik fout?

20 answers to this question

Recommended Posts

  • 0
Posted

Het path was inderdaad fout

Ik gebruikte het filemaker path imagemac: enz. ipv /Volumes/map/map/foto's/bestand.jpg enz.

Maar ik krijg nog steeds dezelfde foutboodschap.

  • 0
Posted

Het lukte niet, maar heb een andere manier gevonden

- open afbeelding vanuit filemaker in voorvertoning (met event)

- apple script waarmee ik dan cmd+s uitvoer

- sluiten voorvertoning

- filemaker actief maken

 

maar dan wil de rest van het filemaker script niet verder gaan dat een refresh uitvoert zodat de afbeelding recht staat in het container veld. ik krijg een zandloper.

Wat moet ik nog toevoegen op het einde van het Apple script zodat mijn filemaker script verder loopt

  • 0
Posted

Ja, maar het punt is dat je het niet moet roteren.

De afbeelding staat juist wanneer je het opent in voorvertoning.

In de container van Filemaker staat de afbeelding echter gedraaid.

Wanneer je de afbeelding opent en dan opslaat (zonder te draaien), staat het correct in de container.

Los daarvan, gaat mijn filemaker script niet verder nadat het apple script is uitgevoerd.

Maar ik, zal jou oplossing eens proberen zonder de roteerfunctie dan.

 

delay 0.5
tell application "System Events"
   tell process "Preview"
       keystroke "s" using {command down}
delay 0.5
   end tell
end tell
tell application "Preview" to quit
delay 0.5
activate application "Filemaker Pro Advanced"

  • 0
Posted

@ Infomatics

 

Jouw script werkt ook, maar ik heb het zelfde probleem.

Ik krijg op het einde een zandloper.

Ik doe wel geen export en import, ik open de afbeelding en sla ze opnieuw op.

De map waar de afbeelding in staat is een netwerkschijf. Is dat misschien de oorzaak van de zandloper?

  • 0
Posted

Wat je zou kunnen proberen is om het bestand eerst in een container in FM te zetten, dan lokaal te exporteren en weer importeren en op de originele plek zetten.

dan kun je uitsluiten dat de netwerkschijf de oorzaak is.

 

succes! Ruben

  • 0
Posted

Het scriptprobleem is niet opgelost, maar het probleem an sich wel. FM14 zet de afbeelding onmiddellijk verticaal als die verticaal genomen is. FM12 deed dat niet.

  • 0
Posted

En daar is het probleem weer ...

 

Ik moet weer foto's gaan roteren (top down foto's waardoor het toestel niet altijd weet of ie nu verticaal of horizontaal moet staan)

 

Het script krijg ik nog steeds niet werkende.

Probleem 1 is dat de foto in de container een verwijzing is en de afbeelding zelf niet in de container staat.

Probleem 2 is dat de foto's, en de databank, op een server staan.

 

Ik moet in Applescript dan waarschijnlijk eerst de serverschijf mounten. En hoe creëer ik dan het juiste path.

 

veel dank

  • 0
Posted

Een pad naar een bestand op een server verschilt weinig van een gewoon pad. Je begint het pad met het mountpunt. Dit is doorgaans /Volumes, daar kun je ook kijken hoe de serverschijf is genoemd. Wanneer de naam van de serverschijf hetzelfde is als de naam van een van de andere aangekoppelde schijven krijg je er een cijfer achter. B.v. HD-1, HD-2

 

Kortom wanneer op de server met schijfnaam Server een bestand bij de gebruiker Jan op de desktop staat met de naam file.png dan is het pad:

/Volumes/Server/Users/Jan/Desktop/file.png

Zo'n pad is trouwens hoofdlettergevoelig.

 

Maar heeft dit probleem met de foto's niet te maken met de metadata?

  • 0
Posted

Vraagje: Gebruiken jullie de Externe referentie in de container?

 

Tip: Nooit meer gebruiken!

Het is oude functionaliteit om het intern opslaan van foto's te voorkomen, maar daar heeft Filemaker tegenwoordig een andere oplossing voor.

Een container kan je nu echt extern opslaan, buiten de database.

 

Voor zover ik weet, zal Filemaker bij het daadwerkelijk importeren van een foto gaan controleren hoe de stand van de foto's is en dit zo corrigeren dat het vervolgens wel goed werkt.

 

Ik had deze problemen ook met oudere versies van Filemaker (met externe referentie) en met de nieuwste versies heb ik dat probleem niet meer.

  • 0
Posted

De foto's worden via een script geïmponeerd. Vervolgens worden de foto's hernoemd en op een andere locatie weggeschreven via een script op basis van een aantal elementen. Door dan de referentie aan te passen werken de containers. Als dat allemaal ook werkt op de nieuwe manier wil ik dat doen. Het probleem is dat de foto in filemaker wel juist staat, maar bij een export als pdf staat de foto fout gedraaid. Dus daarom dat ik verticale foto's wil draaien via het Apple script. Hoe weet ik welke foto's gedraaid moeten worden? Dat is één van de elementen die ik wil gebruiken in het Apple script.

 

Ik zal eerst de juiste referentie voor de server testen.

  • 0
Posted

OK vreemde situatie

 

De rotatie werkt, maar "image events" verwerkt rotaties blijkbaar anders dan "Preview"

En

 

tell application \"Preview\"

 

werkt blijkbaar niet

  • 0
Posted

Ik weet niet of je dit draaien van afbeeldingen algemeen wilt gaan uitvoeren op willekeurige computers of alleen op mac(s) die je zelf gebruikt. Indien het alleen voor jezelf is, zou je ImageMagick kunnen installeren. Dan kan je de shell of bash gebruiken om images te converteren (en dat kan je prima vanuit applescript besturen

 

De gemakkelijkste manier is om MacPorts te gebruiken om ImageMagick te installeren.

 

Zorg eerst dat je MacPorts hebt. Die kan je downloaden van: https://www.macports.org/install.php

 

Daarna open je de terminal en tik je in:

sudo port install ImageMagick

Terminal zal bij de start van dit commando beginnen met een waarschuwing:

Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.

maar die heb ik genegeerd en alles werkte daarna prima. Na de installatie kan je op de commandline intikken

man convert

(convert is een onderdeel van ImageMagick). De algemene syntax is dan:

convert [invoer-opties] basisbestand [uitvoer-opties] resultaatbestand

 

Ten slotte nog even: je kan ImageMagick ook op andere platfora installeren (zoals Windows), zodat je de commando's die je ontwikkelt eventueel ook daar zou kunnen gebruiken.

  • 0
Posted
Volgens mij moet je dat ook niet met Preview maar met Image Events doen:

 

klopt, maar exporteer die afbeelding dan eens als pdf binnen filemaker ...

De afbeelding draait niet mee. Dus image events draait anders. Op de één of andere manier negeert de pdf export de draai instructie van image events.

Draai ik de afbeelding in voorvertoning dan gaat dat wel.

 

Zelfs dat draaien is er te veel aan, want de afbeelding staat goed in zowel voorvertoning als in filemaker, alleen bij een export als pdf werkt het niet.

Ik moet de afbeelding 360° draaien in voorvertoning en opslaan. Dan is de export wel OK

 

raar hé

 

ik zal die imagemagick eens testen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...