Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Aperçu, vrai format de fichier

Discussion dans 'AppleScript et Automator' créé par springfield, 29 Juin 2017.

Mots-clefs:
  1. springfield

    springfield Membre Junior

    Inscrit:
    18 Novembre 2015
    Messages:
    13
    J'aime reçus:
    0
    Bonjour,

    Dans un cadre professionnel, je reçois du client un lot d'images mais il se trouve que certaines n'ont pas le format de fichier qu'elles prétendent. Le seul moyen que j'ai trouvé pour le moment, c'est d'ouvrir les images dans Aperçu et de les réenregistrer. En faisant cela, le vrai format de fichier apparaît.

    J'ai trouvé un script préexistant :

    set this_file to choose file without invisibles
    try
    tell
    application "Image Events"
    -- start the Image Events application
    launch
    set
    the new_format to JPEG
    set the nme_ext to "jpg"
    -- derive new name for the new image file
    copy my derive_filename(this_file, nme_ext, "-", "") to {new_name, target_HFSpath}
    -- open the image file
    set this_image to open this_file
    -- save in new file. The result is a file ref to the new file
    set the new_image to save this_image as new_format in file target_HFSpath with icon
    -- purge the open image data
    close this_image
    end tell
    tell
    application "Finder"

    -- delete the original file
    delete this_file
    end tell
    on
    error error_message
    display dialog error_message buttons {"Cancel"} default button 1
    end try

    on derive_filename(this_item, new_extension, increment_separator, target_folder)
    -- a sub-routine used for deriving the name and path of a new file using the name of an existing file
    -- Pass in file ref in alias format, the new name extension, an increment separator, and any target directory (in alias format)
    -- Name and HFS path for new file are returned. The name is incremented if a file exists in the target location.
    -- Pass a null string for the target directory to use the item's parent directory
    -- Pass a null string for the new name extension to use the item's current name extension

    tell application "Finder"
    if target_folder is "" then
    set
    the target_folder to the container of this_item
    end if
    set
    the file_name to the name of this_item
    set file_extension to the name extension of this_item
    if the file_extension is "" then
    set
    the trimmed_name to the file_name
    set extension_separator to ""
    else
    set
    the trimmed_name to text 1 thru -((length of file_extension) + 2) of the file_name
    set extension_separator to "."
    end if
    if
    the new_extension is "" then
    set
    target_name to file_name
    set target_extension to file_extension
    else
    set
    target_extension to new_extension
    set target_name to (the trimmed_name & extension_separator & target_extension) as Unicode text
    end if
    if
    (exists document file target_name of target_folder) then
    set
    the name_increment to 1
    repeat
    set
    the new_name to (the trimmed_name & increment_separator & (name_increment as Unicode text) & extension_separator & target_extension) as Unicode text
    if not (exists document file new_name of the target_folder) then
    set
    the target_HFSpath to ((target_folder as Unicode text) & new_name)
    return {new_name, target_HFSpath}
    else
    set
    the name_increment to the name_increment + 1
    end if
    end
    repeat
    else
    set
    the target_HFSpath to ((target_folder as Unicode text) & target_name)
    return {target_name, target_HFSpath}
    end if
    end
    tell
    end
    derive_filename

    Comment puis-je lui faire traiter tout un dossier ? et aussi lui indiquer un dossier de sortie ?
     

Partager cette page

Chargement...

iOccasion - Achetez un produit Apple d'occasion

refurb Apple