0 votes

Écriture d'AppleScript pour transformer un document TextEdit de fichier .rtfd en .rtf

J'utilise TextEdit et j'ai besoin que le document soit enregistré au format .rtf, mais lorsque je copie et colle les données, étant donné qu'il y a de petites images et des vignettes, il est toujours enregistré au format .rtfd.

Je suis actuellement en train de le faire manuellement, mais lorsqu'il s'agit de plus de 50 documents, aller dans la zone "Get Info", définir l'extension appropriée, puis enregistrer à nouveau ce fichier prend du temps. Je n'ai pas besoin que les images soient là, mais les supprimer manuellement n'est pas non plus une bonne solution.

J'essaie actuellement d'apprendre AppleScript et d'utiliser l'éditeur script, mais je voulais voir si entre-temps quelqu'un avait des idées ici ou avait un script qui fait cela ?

1 votes

IMO Vous vous y prenez de la mauvaise façon. A .rtfd fichier est en fait un dossier contenant un fichier nommé TXT.rtf et toutes les images qui ont été incluses. Je copierais simplement le TXT.rtf fichiers à partir de leurs .rtfd tout en les renommant au passage. En supposant que tous les .rtfd fichiers sont dans le même dossier alors dans Terminal changer de répertoire à l'emplacement de la .rtfd fichiers c'est-à-dire cd /path/to/.rtfd_files puis utilisez ce qui suit commandement composé : for d in *.rtfd; do cp -nv "${d}/TXT.rtf" "${d%.*}.rtf"; done

0 votes

C'est une excellente information, merci. je fais ceci pour le travail, et je ne suis en aucun cas script ou expert en terminal. J'ai essayé d'utiliser le terminal avec ces codes, mais je ne suis pas sûr de savoir exactement comment. Si vous avez le temps, si vous pouvez m'expliquer davantage comment faire, ce serait génial. Désolé de vous ennuyer et merci encore.

1voto

Mockman Points 847

Le commentaire de @user3439894 fournit une meilleure solution mais puisque ce sujet est étiqueté comme applescript, voici une réponse applescript.

Demandera à l'utilisateur de choisir un ou plusieurs rtfd, de les copier sur le bureau, de les transformer en dossiers réels, d'extraire le composant texte/rtf de chacun d'eux sur le bureau, et de mettre à la poubelle les parties non désirées. Je ne sais pas comment obtenir les fichiers cibles, j'ai donc choisi de les choisir et d'utiliser le bureau comme lieu de travail.

use scripting additions
-- Choose one or more rtfd
set aFilList to {}
set aFilList to (choose file with multiple selections allowed)
tell application "Finder"

    repeat with aFil in aFilList

        -- copy rtfd to desktop; collect name information       
        set dFil to duplicate aFil to (path to desktop folder)
        set {adNam, ddNam, dwXt} to {displayed name of aFil, displayed name of dFil, ".rtf"}
        --> {"filename", "filename 2", ".rtf"}, or {"filename", "filename copy", ".rtf"}

        -- Remove 'd' from extension to reveal as type:folder
        set name of dFil to ddNam & dwXt
        set dFil to ((path to desktop) & ddNam & dwXt as text)

        -- Move rtf to desktop and rename; trash intermediary files
        move file "TXT.rtf" of alias dFil to (path to desktop) with replacing
        set oFil to (path to desktop) & "TXT.rtf" as text
        set name of alias oFil to (adNam & dwXt)
        delete aFil
        delete dFil

    end repeat
end tell

-1voto

FlyingStreudel Points 2206

Pour un document unique, à moins qu'il n'y ait un formatage à préserver, le plus simple est de l'enregistrer d'abord comme un document texte plan, puis de le réenregistrer comme un RTF. Ou bien collez d'abord la sélection dans BBEdit, puis sélectionnez tout, copiez et collez dans TextEdit.

S'il y a un formatage que vous voulez sauvegarder, et qu'il n'y a que quelques icônes ou autres objets, il suffit de les supprimer, puis d'enregistrer en RTF.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X