Il m'est arrivé, à moi aussi, de données graphiques d'un capture d'écran sur le presse-papiers et ont utilisé une version très dépouillée de l'application exemple AppleScript code illustré ci-dessous pour l'écrire sur un fichier disque. Cependant, je l'ai réécrit de manière à ce que vous n'ayez plus qu'à définir la valeur de deux variables lire les commentaires dans le code puis enregistrer le script en utilisant script Éditeur . Vous pouvez ensuite le déclencher à partir d'un raccourci clavier à l'aide d'une application telle que FastScripts ou similaire.
De cette façon, vous n'avez pas besoin de donner à chaque application qui a un focus séparé la permission de l'exécuter, comme vous le feriez si vous utilisiez un Automate Service/action rapide fixé à toute application . (Vous pouvez aussi vous contenter d'une seule application, par exemple Recherche et ne le déclenche qu'à partir de là).
FastScripts est gratuit jusqu'à 10 raccourcis clavier . Notez que je ne suis pas affilié au développeur de ce produit, je ne suis qu'un utilisateur satisfait.
Enregistrer ce qui suit exemple AppleScript code en tant que script nommé par exemple Écrire les données d'une image graphique du presse-papiers dans un fichier puis lui assigner un raccourci clavier en FastScripts J'ai utilisé 6 et commencez à l'utiliser. Notez que vous pouvez également l'utiliser dans un Exécuter le Shell script action dans un Automate Service/action rapide si vous le souhaitez, mais FastScripts est la voie à suivre.
Si vous voulez coder en dur un localisation au lieu d'un choisir un dossier dialogue Si vous n'êtes pas d'accord, faites-le moi savoir et je changerai le nom de l'article. code .
Qu'est-ce que cette exemple AppleScript code ne :
- Vérifie le presse-papiers pour voir s'il contient données graphiques et, si ce n'est pas le cas, en informe l'utilisateur.
- Si le presse-papiers contient données graphiques a choisir un dossier dialogue s'ouvre.
- Choisir le localisation pour sauvegarder le données graphiques de la presse-papiers a fichier et c'est le cas, sauf si vous n'avez pas de autorisation d'écriture à cela localisation On vous avertit et vous choisissez à nouveau.
- Les convention d'appellation est, par exemple : Capture d'écran 2020-05-21 à 9.34.29 PM.png
Exemple AppleScript code :
-- #
-- ### Write Clipboard Graphic Image Data to File ###
-- #
-- # This example AppleScript code will write graphic image data in its normal form on the clipboard to disk file.
-- # All you need to do is set the value of the fileExtension variable to the type of graphic image file you want.
-- # Then when the script runs, a choose folder dialog box will appear, you select a location and click the Choose button.
-- # The graphic image data in its normal form on the clipboard is written to disk file with the following naming convention:
-- # 'Screen Shot 2020-05-21 at 9.34.29 PM.fileExtension' e.g. 'Screen Shot 2020-05-21 at 9.34.29 PM.png'
-- # Set the value of the fileExtension variable
-- # to the type of graphic image file you want.
-- #
-- # Valid values are: png, jpg, tiff, gif
set fileExtension to "png"
-- # The defaultChooseFolderLocation is the default
-- # location the choose folder dialog opens to.
-- # It can be any properly formed AppleScript
-- # 'path to (folder)', or use a fully qualified POSIX path.
set defaultChooseFolderLocation to path to (pictures folder)
-- ########################################
-- ## Do Not Edit Below Unless You Know What You Are Doing. ##
-- ########################################
-- # With the exception of the file naming convention, the rest
-- # of the code is tokenized and should not need to be edited.
-- # Obviously though, feel free to edit it if you so choose.
if fileExtension is equal to "png" then
set imageType to «class PNGf»
else if fileExtension is equal to "jpg" then
set imageType to JPEG picture
else if fileExtension is equal to "tiff" then
set imageType to TIFF picture
else if fileExtension is equal to "gif" then
set imageType to GIF picture
else
display dialog "The file extension set is not recognized!" buttons {"OK"} ¬
default button 1 with title "Write Clipboard Graphic Image Data to File" with icon stop
return
end if
if ((clipboard info) as string) contains imageType then
my chooseLocationAndWriteFile(imageType, fileExtension, defaultChooseFolderLocation)
else
display dialog "The clipboard does not contain graphic image data!" buttons {"OK"} ¬
default button 1 with title "Write Clipboard Graphic Image Data to File" with icon caution
end if
-- ## Handler(s) ##
on chooseLocationAndWriteFile(imageType, fileExtension, defaultChooseFolderLocation)
set cbImage to (the clipboard as imageType)
set fileName to do shell script ¬
"echo $(date '+Screen Shot %Y-%m-%d% at %l.%M.%S %p." & fileExtension & "')"
set saveToLocation to POSIX path of (choose folder with prompt ¬
"Choose the Folder to save the clipboard image to..." default location ¬
defaultChooseFolderLocation)
set imageFile to saveToLocation & fileName
my writeToFile(cbImage, imageFile, true, imageType, fileExtension)
end chooseLocationAndWriteFile
on writeToFile(theData, theFile, overwriteExistingContent, imageType, fileExtension)
try
set theOpenedFile to open for access POSIX file theFile with write permission
if overwriteExistingContent is true then set eof of theOpenedFile to 0
write theData to theOpenedFile starting at eof
close access theOpenedFile
on error eStr number eNum
try
close access file theFile
end try
if eNum is equal to -5000 then
display dialog ¬
"You do not have write permission to this location!" buttons {"OK"} ¬
default button 1 with title "File I/O Error..." with icon stop
my chooseLocationAndWriteFile(imageType, fileExtension, defaultChooseFolderLocation)
else
display dialog eStr & " number " & eNum ¬
buttons {"OK"} default button 1 ¬
with title "File I/O Error..." with icon stop
end if
return
end try
end writeToFile
Note : Le <em>exemple </em><strong>AppleScript </strong><em>code </em>n'est rien d'autre que cela et ne contient pas d'éléments supplémentaires. <em>traitement des erreurs </em>le cas échéant. Il incombe à l'utilisateur d'ajouter toute <em>traitement des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité. Consultez le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>essayer </strong></a><em>déclaration </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>erreur </strong></a><em>déclaration </em>dans le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide du langage AppleScript </strong></a>. Voir aussi, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec des erreurs </strong></a><strong>. En outre, l'utilisation du <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>délai </strong></a><em>commande </em>peut être nécessaire entre les événements, le cas échéant, par exemple <code>delay 0.5</code> , avec le <em>valeur </em>de la <em>délai </em>de manière appropriée.</strong>