Applescript ou automator pour fichier word |
Bienvenue invité ( Connexion | Inscription )
Applescript ou automator pour fichier word |
16 Nov 2006, 17:43
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 10 Inscrit : 28 Jul 2005 Membre no 43 137 |
Bonjour à tous, je suis à la recherche d'une solution qui me permettrait de convertir un fichier word en pdf comme le permet aujourd'hui l'option d'impression "Enregistrer en PDF..."
Evidemment, je souhaiterais que cette fonctionnalité se fasse automatiquement via un applescript. Un exemple d'apple ("Convert To PDF.scpt") permet de convertir tout type de fichiers compatible "Jpg, Tiff, Rtf" en pdf, le script fonctionne très bien mais dès que j'essaye de l'appliquer à un document word, ça ne marche pas. J'ai donc essayé de modifier le script lui-même et j'ai vu qu'il y avait une liste de documents possibles : property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "PDF", "TEXT"} property extension_list : {"jpg", "gif", "pct", "tif", "pdf", "rtf"} Donc, je me suis dit, je vais rajouter le type "WBDN" ou "DOC", ou "W8BN" correspondant au fichier word et j'ai lancé le script mais toujours rien (avec les 3 types que j'ai mis). Donc je me retrouve bloquer et je n'arrive pas à convertir un fichier word en pdf via applescript !! Il doit bien exister quelque chose pour faire ça vu que manuellement, on peut le faire via Word !! Ca m'étonne beaucoup et je suis bloqué donc si quelqu'un peut m'aider, ça serait bien sympa merci d'avance @+ Olivier |
|
|
Guest_JackJr300_* |
17 Nov 2006, 02:35
Message
#2
|
Guests |
Bonsoir
Ce n'est pas possible, le script converti que les fichiers dont le type est dans cette liste {"JPEG", "GIFf", "PICT", "TIFF", "PDF", "TEXT"}, le format de Word est propriétaire à Microsoft. Mais tu peux le faire en GUI scripting. Il faut cocher le bouton "activer l'accès pour les périphériques d'aide" dans les préférences système de "Accès Universel" Le GUI scripting à des inconvénient, il faut que l'application soit au premier plan, et tu ne pourras pas utiliser le clavier et la souris durant l'exécution du script, sinon ça ne fonctionnera pas. Voici un script qui fonctionne sur Mac OS X 10.4 avec Word d'Office 2004 ou sur Word d'Office X. CODE set destinationfolder to alias "Disque1:New Word PDF:" set ce_fichier to alias "Disque1:Users:jack:Desktop:Hello world.doc" tell application "Microsoft Word" to open ce_fichier -- ouvre un fichier -- enleve l'extension originale et ajoute l'extension ".pdf" tell (info for ce_fichier) to if name extension is not "" then set thisName to text 1 thru -((length of name extension) + 2) of name & ".pdf" else set thisName to name & ".pdf" end if -- vérifie si le nom existe sur le bureau et dans le dossier destinationfolder --si oui, il ajoute un nombre au début du nom set thisName to verifieNom(thisName, destinationfolder) saveasPDF(thisName) -- enregistre sur le bureau -- déplace le fichier PDF dans le dossier destination tell application "Finder" to move file thisName to destinationfolder on saveasPDF(nom) -- Gui scripting tell application "System Events" to tell application process "Microsoft Word" set frontmost to true keystroke "p" using command down repeat until (exists window "Print") delay 0.3 end repeat repeat 18 times keystroke tab end repeat keystroke space delay 0.3 keystroke (ASCII character 31) keystroke return repeat until (exists window "Save") delay 0.3 end repeat keystroke nom keystroke tab keystroke "d" using command down repeat until not (exists window "Save") keystroke (ASCII character 13) delay 0.3 end repeat end tell end saveasPDF on verifieNom(this_name, This_folder) set these_Names to list folder (path to desktop) -- liste des noms des éléments sur le bureau set {List_Names, N, x} to {list folder This_folder, this_name, 0} repeat while N is in these_Names or N is in List_Names --repete jusqu'a le nom (n) ne soit pas dans les deux liste de noms set x to x + 1 set N to "" & x & "- " & this_name end repeat return N end verifieNom PS : J'ai la version en Anglais d'Office : remplacer dans le script les mots "Print" and "Save" par le nom de la fenêtre de votre version, probablement "Imprimer" et "Enregistrer" |
|
|
17 Nov 2006, 12:33
Message
#3
|
|
Nouveau Membre Groupe : Membres Messages : 10 Inscrit : 28 Jul 2005 Membre no 43 137 |
Salut, et merci pour ton aide
Je n'arriver pas à faire fonctionner ton script, j'ai un message d'erreur. Donc j'ai simplifier énormément les traitements pour voir si ça marchait quand même !! Pour être sûr que ça fonctionne, j'ai fait la même chose avec un fichier text sous TextEdit : Voici mon code : tell application "Finder" to set Word_File to file "Documents:note.txt" of home tell application "Finder" to set destinationfolder to folder "Documents:" of home tell Word_File to if name extension is not "" then set Pdf_File to name & ".pdf" else set Pdf_File to name & ".pdf" end if tell application "TextEdit" to open Word_File tell application "System Events" to tell process "TextEdit" set frontmost to true keystroke "p" using command down end tell J'ai eu plantage continuel sur "using command down" !! L'erreur qui apparaît est une syntax error : "fin de ligne, etc. prévu mais identificateur trouvé." Pourtant, l'option d'accès universel est bien coché !! J'y comprend rien, pourquoi ça ne marche pas ce truc là? Si je l'enlève, ça me tape un "P" sur TextEdit (ainsi que sous Word) mais ça ne m'effectue pas ce que je veux !! Je me suis dit, doit bien y avoir une commande print donc au lieu de faire "Open Word_File", J'ai fait "Print Word_File" mais derrière impossible de commander la fenetre d'impression pour la faire aller sur l'enregistrement en PDF" !! Je nage un peu là !! |
|
|
Guest_JackJr300_* |
17 Nov 2006, 20:56
Message
#4
|
Guests |
Quel est la version de ton Mac OS ?
|
|
|
20 Nov 2006, 09:47
Message
#5
|
|
Nouveau Membre Groupe : Membres Messages : 10 Inscrit : 28 Jul 2005 Membre no 43 137 |
Je suis en 10.4.7 mais je n'ai pas fait la mise à jour en 10.4.8 car visiblement, y'avait des bugs dessus donc c'est surement pour ça que ça merde car j'ai vu sur le forum qu'il y avait des soucis avec l'applescript du Mac os 10.4.7
En tout cas, j'ai réussi après acharnement à trouver une solution qui fonctionne sur mon mac !! La solution n'est pas encore optimisé mais ma partie de test fonctionne impeccablement. Après, il y a surement des réglages à faire au niveau de la simulation des tab ou des return mais sinon, ça fonctionne. Pour ceux que ça intéresse voici une partie qui fonctionne sans optimisation : |
|
|
29 Aug 2008, 06:07
Message
#6
|
|
Adepte de Macbidouille Groupe : Membres Messages : 198 Inscrit : 10 Jul 2007 Membre no 90 329 |
Bonjour
Je reprends ce post vieux de 2 ans: en 10.5, y a-t-il une amélioration qui permette cette manip, càd obtenir un pdf à partir d'un doc. texte quelconque, sans passer par l'impression ? Merci. |
|
|
29 Aug 2008, 12:46
Message
#7
|
|
Adepte de Macbidouille Groupe : Membres Messages : 198 Inscrit : 10 Jul 2007 Membre no 90 329 |
Je crois que je vais oser :-)
Qq1 saurait-il faire un script shell, à intégrer ensuite dans automator, permettant de convertir un doc texte quelconque, en pdf, par l'intermédiaire de l'impression ? (enregistrer au format pdf, du dialogue d'impression). J'ai bien essayé via automator en enregistrant mes actions, mais le résultat est inconstant, et en plus, automator garde la main pendant toute la séquence ce qui fait perdre le temps gagné. |
|
|
Guest_JackJr300_* |
29 Aug 2008, 16:02
Message
#8
|
Guests |
Bonjour,
CITATION(JPM01 @ 29 Aug 2008, 06:07) [snapback]2776466[/snapback] Bonjour Je reprends ce post vieux de 2 ans: en 10.5, y a-t-il une amélioration qui permette cette manip, càd obtenir un pdf à partir d'un doc. texte quelconque, sans passer par l'impression ? Merci. Oui, c'est possible en AppleScript avec la commande save dans Word de "Microsoft Office 2008 " |
|
|
30 Aug 2008, 09:56
Message
#9
|
|
Adepte de Macbidouille Groupe : Membres Messages : 198 Inscrit : 10 Jul 2007 Membre no 90 329 |
Grâce à JackJr300, le processus automator de conversion d'un fichier texte en pdf fonctionne.
Pour en revenir au sujet du post, il se trouve que si on change l'extension .doc en .txt, le processus fonctionne et convertit en pdf. Or, le génial automator contient un process qui permet de renommer un fichier; il suffit donc de lui demander de rajouter l'extension txt au-dit fichier. Je récapitule: - par automator on sélectionne le dossier A contenant des fichiers en .doc, automator rajoute .txt et le process de conversion en pdf est lancé. Jusque là tout fonctionne. Le problème: le dossier A qui reçoit les fichiers en .doc se retrouve avec un fichier en .txt ET un fichierr en .pdf. L'idéal serait que le dossier A contienne seulement le document final en pdf. Je n'arrive pas à extraire le fichier txt pour l'eenvoyer à la poubelle. Le but ultime de l'opération est d'automatiser la conversion en pdf et l'envoi dans un autre dossier de tout document .doc déposé dans ce dossier (en affectant par exemple, le processus automator aux actions de dossier du dossier A). J'espère que c'est asez clair :-) |
|
|
Guest_JackJr300_* |
30 Aug 2008, 16:32
Message
#10
|
Guests |
Bonjour,
CITATION(JPM01 @ 30 Aug 2008, 09:56) [snapback]2777717[/snapback] Le problème: le dossier A qui reçoit les fichiers en .doc se retrouve avec un fichier en .txt ET un fichierr en .pdf. L'idéal serait que le dossier A contienne seulement le document final en pdf. Je n'arrive pas à extraire le fichier txt pour l'eenvoyer à la poubelle. Le but ultime de l'opération est d'automatiser la conversion en pdf et l'envoi dans un autre dossier de tout document .doc déposé dans ce dossier (en affectant par exemple, le processus automator aux actions de dossier du dossier A). J'espère que c'est asez clair :-) Tu aurais eu une boucle infinie aussi avec l'action "Renommer les éléments du Finder". Parce que si on renomme un fichier dans une action de dossier, l'action de dossier le considère comme un nouveau fichier. Donc, il faut enlever le type PDF et l'extension pdf des listes (property type_list et extension_list) et supprimer l'action "Renommer les éléments du Finder" dans Automator. J'ai enlevé le traitement des dossiers dans le script, inutile pour ton cas parce que tu ne déposes que des fichiers ".doc" dans le dossier. Donc, le script renommes fichiers ".doc" avec ".txt" , cela va éviter à l'action de dossier de traiter le même fichier, puisquil va être renommé dans la corbeille. Voici le script modifié. CODE property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "TEXT"} property extension_list : {"jpg", "gif", "pct", "tif", "rtf", "txt", "doc"} on run {input, parameters} repeat with this_item in input if class of this_item is not alias then set this_item to (this_item as string) as alias set {is_folder, is_alias, t_type, t_ext} to {folder, alias, file type, name extension} of (info for this_item without size) if not is_folder then if t_ext is in extension_list or not is_alias and t_type is in type_list then my processFile(this_item, t_ext) end if end repeat return input end run on processFile(F, t_ext) set new_F to POSIX path of F tell application "Finder" to delete F -- déplace le fichier dans la corbeille set t_file to POSIX path of F -- récupere le chemin du fichier placé dans la corbeille if t_ext is not missing value then set new_F to (text 1 thru -((length of t_ext) + 1) of new_F) & "pdf" -- remplace l'extension par pdf, au lieu d'avoir ex : ".doc.pdf" if t_ext is "doc" then -- document Word do shell script "/bin/mv -f " & quoted form of t_file & space & quoted form of (t_file & ".txt") -- renomme avec l'extension .txt set t_file to t_file & ".txt" end if else set new_F to new_F & ".pdf" -- ajoute ".pdf", ce fichier n'avait pas d'extension end if try do shell script "/System/Library/Printers/Libraries/./convert " & "-f " & "\"" & t_file & "\"" & " -o " & "\"" & new_F & "\"" & " -j \"application/pdf\" -D" end try end processFile L'option "-D" de /System/Library/Printers/Libraries/./convert supprime le fichier traité du disque, si tu ne veut pas l'effacer mais le laisser dans la corbeille ,il suffit d'enlever l'option dans la ligne de commande. Comme ceci. CODE do shell script "/System/Library/Printers/Libraries/./convert " & "-f " & "\"" & t_file & "\"" & " -o " & "\"" & new_F & "\"" & " -j \"application/pdf\""
Ce message a été modifié par JackJr300 - 30 Aug 2008, 22:26. |
|
|
31 Aug 2008, 07:16
Message
#11
|
|
Adepte de Macbidouille Groupe : Membres Messages : 198 Inscrit : 10 Jul 2007 Membre no 90 329 |
Bonjour
Le script refuse d'être compilé au prétexte que: "erreur syntaxe expression prévue mais "#" trouvé " dans [color=#00066]. Par ailleurs, si le fait de vouloir en faire une action de dossiers complique beaucoup le problème, on peut en rester à une application automator à lancer en cas de besoin, ce sera déjà très bien. Merci pour tout. |
|
|
Guest_JackJr300_* |
31 Aug 2008, 14:15
Message
#12
|
Guests |
Bonjour,
CITATION(JPM01 @ 31 Aug 2008, 07:16) [snapback]2778454[/snapback] Bonjour Le script refuse d'être compilé au prétexte que: "erreur syntaxe expression prévue mais "#" trouvé " . Mais, je l'avais corrigé hier soir. CITATION(JPM01 @ 31 Aug 2008, 07:16) [snapback]2778454[/snapback] Par ailleurs, si le fait de vouloir en faire une action de dossiers complique beaucoup le problème, on peut en rester à une application automator à lancer en cas de besoin, ce sera déjà très bien. Ce qu'il ne faut pas faire avec une action de dossier, c'est d'avoir une action Automator qui renomme les fichiers dans le même dossier, ou une action Automator ou un script qui créeront des nouveaux fichiers dans le même dossier qui vont être traités une nouvelle fois. Par exemple : le script créé un fichier PDF, l'action de dossier remet en paramètre le PDF qui vient d'être créé. Mais, en enlevant le type "PDF " et l'extension "pdf" dans les listes des fichiers acceptés dans le script, il ne traitera pas les fichiers PDF créés par ce script. |
|
|
1 Sep 2008, 06:19
Message
#13
|
|
Adepte de Macbidouille Groupe : Membres Messages : 198 Inscrit : 10 Jul 2007 Membre no 90 329 |
Tout fonctionne parfaitement, chapeau !!
J'ai affecté ce script à une action de dossier et tout roule. Merci mille fois, voilà des Km-souris encore réduits ! |
|
|
19 Feb 2009, 17:44
Message
#14
|
|
Nouveau Membre Groupe : Membres Messages : 4 Inscrit : 1 Oct 2007 Membre no 96 031 |
Bonjour,
j'essaye de me servir de ce script pour fabriquer facilement un pdf à partir d'un document word, mais je n'y arrive pas. Voilà ce que j'ai fait : 1- j'ouvre l'utilitaire de script 2- je copie et colle dans la fenêtre le contenu du script du message de JackJr300 3- j'enregistre le script quelque part sur mon disque dur 4- j'affecte à un dossier ce script en ayant préalablement activé les actions de dossiers 5- je balance un fichier word dans mon dossier 6- aucune action ne se produit J'ai sinon essayé de passer par automator. J'ai créé un module pour sélectionner un fichier et un module de script (voi PJ) Dans ce cas, un fichier pdf est bien créé, mais il fait zéro ko et quand je veux l'ouvrir on me dit qu'il est corrompu... Quelqu'un peut il me dire ce qui cloche parcequ'àprès deux jours à me prendre la tête sur le sujet, je ne sais plus quoi faire... merci
Fichier(s) joint(s)
|
|
|
23 Feb 2009, 13:34
Message
#15
|
|
Nouveau Membre Groupe : Membres Messages : 4 Inscrit : 1 Oct 2007 Membre no 96 031 |
UP??
j'aimerai vraiment arriver à fabriquer facilement des pdf sans passer par le menu impression quelqu'un sait-il comment faire? A plus |
|
|
23 Feb 2009, 15:47
Message
#16
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 098 Inscrit : 4 Oct 2005 Membre no 47 253 |
UP?? j'aimerai vraiment arriver à fabriquer facilement des pdf sans passer par le menu impression quelqu'un sait-il comment faire? A plus Bonjour En AppleScript, le code non compilé doit être placé dans un seul endroit pour être reconnu. Racine du DD de démarrage/Library/Scripts/Folder Action Scripts. Sinon l'action de dossier ne peut marcher normalement. Je présume que tu as bien fait comme ça, donc il faut s'assurer que le code est bien appelé. @+ Ce message a été modifié par sucellus - 23 Feb 2009, 15:48. -------------------- Impossible de vous dire mon âge, il change tout le temps.
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4 |
|
|
23 Feb 2009, 17:17
Message
#17
|
|
Nouveau Membre Groupe : Membres Messages : 4 Inscrit : 1 Oct 2007 Membre no 96 031 |
Merci sucellus,
j'ai vérifié, mon script est bien au bon endroit. Par contre je l'avais peut-être compilé, donc j'ai recopié et enregistré le contenu sans compilation. A priori rien ne se passe, pourtant on voit bien un rafraîchissement du dossier. Texto, le script que j'utilise est le suivant : property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "TEXT"} property extension_list : {"jpg", "gif", "pct", "tif", "rtf", "txt", "doc"} on run {input, parameters} repeat with this_item in input if class of this_item is not alias then set this_item to (this_item as string) as alias set {is_folder, is_alias, t_type, t_ext} to {folder, alias, file type, name extension} of (info for this_item without size) if not is_folder then if t_ext is in extension_list or not is_alias and t_type is in type_list then my processFile(this_item, t_ext) end if end repeat return input end run on processFile(F, t_ext) set new_F to POSIX path of F tell application "Finder" to delete F -- déplace le fichier dans la corbeille set t_file to POSIX path of F -- récupere le chemin du fichier placé dans la corbeille if t_ext is not missing value then set new_F to (text 1 thru -((length of t_ext) + 1) of new_F) & "pdf" -- remplace l'extension par pdf, au lieu d'avoir ex : ".doc.pdf" if t_ext is "doc" then -- document Word do shell script "/bin/mv -f " & quoted form of t_file & space & quoted form of (t_file & ".txt") -- renomme avec l'extension .txt set t_file to t_file & ".txt" end if else set new_F to new_F & ".pdf" -- ajoute ".pdf", ce fichier n'avait pas d'extension end if try do shell script "/System/Library/Printers/Libraries/./convert " & "-f " & "\"" & t_file & "\"" & " -o " & "\"" & new_F & "\"" & " -j \"application/pdf\" -D" end try end processFile Quoi qu'il en soit, je crains que l'utilitaire de conversion ne marche que pour la partie "texte" du fichier word. Alors que je dois aussi transformer des images et des tableaux. Y a il une autre méthode? Meabilis |
|
|
23 Feb 2009, 17:30
Message
#18
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 098 Inscrit : 4 Oct 2005 Membre no 47 253 |
Merci sucellus, j'ai vérifié, mon script est bien au bon endroit. Par contre je l'avais peut-être compilé, donc j'ai recopié et enregistré le contenu sans compilation. A priori rien ne se passe, pourtant on voit bien un rafraîchissement du dossier. Meabilis on run {input, parameters} c'est pour Automator (j'utilise pas). Pour AppleScript c'est plutôt: on adding folder items to ce_dossier after receiving ce_fichier en action de dossier. Sur un fichier texte (.txt) ça marche bien. Word j'utilise pas, alors je ne peut répondre. Je vais voir si je trouve quelque chose. @+ -------------------- Impossible de vous dire mon âge, il change tout le temps.
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4 |
|
|
Guest_EricaL**_* |
24 Feb 2009, 05:33
Message
#19
|
Guests |
Bonjour,
Quoi qu'il en soit, je crains que l'utilitaire de conversion ne marche que pour la partie "texte" du fichier word. Alors que je dois aussi transformer des images et des tableaux. C'est tout à fait ça, Y a il une autre méthode? Oui, voici deux solutions 1- Si tu as "Microsoft Office 2008", c'est possible de le faire avec Word. Voici un script minimaliste : Code on adding folder items to ce_dossier after receiving ces_fichiers repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".doc" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Microsoft Word" -- fonctionne sous Word 2008 launch open un_fichier save as active document file name fichier_PDF file format format PDF close window 1 saving no end tell end if end repeat end adding folder items to 2- Si tu as iWork 09, c'est possible de le faire avec Pages. C'est le même script, sauf pour la partie application : Code tell application "Pages"
launch open un_fichier save document 1 as "SLDocumentTypePDF" in fichier_PDF close window 1 saving no end tell Ce message a été modifié par EricaL** - 24 Feb 2009, 06:06. |
|
|
24 Feb 2009, 15:49
Message
#20
|
|
Nouveau Membre Groupe : Membres Messages : 4 Inscrit : 1 Oct 2007 Membre no 96 031 |
Merci pour ton aide EricaL,
malheureusement j'ai office 2004. J'étais au courant qu'avec 2008 c'est possible, il y a même un workflow pour automator. si de toute façon, je ne peux pas utiliser convert pour les images (qui est en fait cupsfilter) je ne vais pas m'acharner sur cette piste. J'ai trouvé une demi solution qui consiste à mettre un dossier que j'appelle "pdf" dans le dossier pdf service de ma bibliothèque, ça me fait gagné qq secondes par rapport à l'action de base qui demande de se balader dans l'arborescence et de nommer le fichier. Ensuite je met comme action de dossier mon worflow automator que j'ai créé pour réduire la taille de mon pdf (de 1,5mo je passe à 400ko sans perte perceptible). Maintenant pour améliorer ça, je vais chercher si je ne peux pas nommer mon fichier pdf du même nom que mon fichier word et voir si de mon dossier pdf je peux le copier dans le dossier ou j'ai mon original en word. mais ça c'est du bonus. je trouve quand même bizarre qu'il soit si facile de faire du pdf nativement dans os x et qu'il n'existe pas de brique automator autre que celle de word 2008 et consoeur... jb |
|
|
1 May 2009, 18:14
Message
#21
|
|
Nouveau Membre Groupe : Membres Messages : 8 Inscrit : 23 Oct 2001 Lieu : Montreuil Membre no 1 107 |
2- Si tu as iWork 09, c'est possible de le faire avec Pages. C'est le même script, sauf pour la partie application : Code tell application "Pages" launch open un_fichier save document 1 as "SLDocumentTypePDF" in fichier_PDF close window 1 saving no end tell désolé de te paraître si nul, mais peux-tu me dire qu'est ce que je dois mettre pour remplacer "in fichier_PDF" Merci d'avance JG |
|
|
Guest_EricaL**_* |
2 May 2009, 00:43
Message
#22
|
Guests |
désolé de te paraître si nul, mais peux-tu me dire qu'est ce que je dois mettre pour remplacer "in fichier_PDF" Merci d'avance JG Ça dépend de ce que vous voulez faire. Quel type de script ? ( action de dossier, droplet ou script ) Si c'est script, quels documents seront à traiter ? ( à partir d'une sélection dans le Finder, à partir d'une sélection dans un dialogue, ou à partir d'un document déjà ouvert dans "Pages" ) Où voulez-vous enregistrer le PDF ? ( dans le même dossier que le fichier ".doc" , dans un dossier pré déterminé ou un dossier sélectionné dans un dialogue à chaque fois que le script s'exécute.) Voici un script qui enregistre les fichiers PDF dans le même dossier que le fichier ".doc", la sélection des fichiers ".doc", se font à partir d'un dialogue. Code set ces_fichiers to (choose file with multiple selections allowed without invisibles) repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".doc" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Pages" launch open un_fichier save document 1 as "SLDocumentTypePDF" in fichier_PDF close window 1 saving no end tell end if end repeat |
|
|
25 Sep 2009, 15:03
Message
#23
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 25 Sep 2009 Membre no 142 823 |
Bonjour, ce fil est passionnant mais d'un bon niveau technique, j'oserais tout de meme une question de béotien je cherche a automatiser la conversion de fichiers doc (word 2008 édition famille) en PDF et par lot (700 fichiers) j'ai essayé avec automator (sans succès) maintenant avec des scripts, mais je suis un grand débutant, j'ai utilisé le dernier script de Erical en remplaçant Pages par Word et en enlevant la conversion de DOC vers TXT mais j'ai le message suivant : error "La variable fichier_PDF nest pas définie." number -2753 from "fichier_PDF" et un blocage du script,
quelqu'un peut il m'aider d'avance merci. Fred. |
|
|
Guest_EricaL**_* |
25 Sep 2009, 23:31
Message
#24
|
Guests |
Bonjour,
j'ai utilisé le dernier script de Erical en remplaçant Pages par Word et en enlevant la conversion de DOC vers TXT mais j'ai le message suivant : error "La variable fichier_PDF nest pas définie." number -2753 from "fichier_PDF" Il n'y a pas de conversion de doc en texte, cette ligne modifie l'extension du nouveau fichier, ( .doc est remplacé par .pdf) Et Word n'utilise pas la même commande (save) que Pages. Voici le script : Code set ces_fichiers to (choose file with multiple selections allowed without invisibles)
repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".doc" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Microsoft Word" -- fonctionne sous Word 2008 launch open un_fichier save as active document file name fichier_PDF file format format PDF close document 1 saving no end tell end if end repeat |
|
|
26 Sep 2009, 18:35
Message
#25
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 25 Sep 2009 Membre no 142 823 |
Merci beaucoup Mr Erical, vous m'avez tiré une épine du pied, le script marche très bien et cette petite expérience m'incite à me lancer dans l'apprentissage de cette logique.
Merci encore et bon Week End. Fred. |
|
|
28 May 2012, 15:50
Message
#26
|
|
Nouveau Membre Groupe : Membres Messages : 1 Inscrit : 28 May 2012 Membre no 176 768 |
Bonjour à tou(te)s
Je déterre ce topic car j'ai utilisé ce script pour convertir plusieurs docx en pdf. J'ai donc remplacé .doc en .docx Ca fonctionne sauf que ça me génère des fichiers .dpdf Comment modifier ce script afin de générer des fichiers pdf à partir de fichiers .docx En vous remerciant PS: voici le script que j'ai utilisé set ces_fichiers to (choose file with multiple selections allowed without invisibles) repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".docx" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Microsoft Word" -- fonctionne sous Word 2008 launch open un_fichier save as active document file name fichier_PDF file format format PDF close document 1 saving no end tell end if end repeat |
|
|
29 May 2012, 10:40
Message
#27
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 098 Inscrit : 4 Oct 2005 Membre no 47 253 |
Bonjour à tou(te)s Je déterre ce topic car j'ai utilisé ce script pour convertir plusieurs docx en pdf. J'ai donc remplacé .doc en .docx Ca fonctionne sauf que ça me génère des fichiers .dpdf Comment modifier ce script afin de générer des fichiers pdf à partir de fichiers .docx En vous remerciant PS: voici le script que j'ai utilisé set ces_fichiers to (choose file with multiple selections allowed without invisibles) repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".docx" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Microsoft Word" -- fonctionne sous Word 2008 launch open un_fichier save as active document file name fichier_PDF file format format PDF close document 1 saving no end tell end if end repeat Bonjour Tu remplace une extension de 3 caractères par une de 4 caractères. Donc modifie cette ligne avec un 5 et ça devrais marcher. Code set fichier_PDF to (text 1 thru -4 of F) & "pdf" @+ Ce message a été modifié par sucellus - 29 May 2012, 10:41. -------------------- Impossible de vous dire mon âge, il change tout le temps.
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4 |
|
|
21 Nov 2016, 13:56
Message
#28
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 21 Nov 2016 Membre no 200 362 |
Bonjour, je remonte ce très vieux sujet, je cherche a transformer des word en pdf, j'utilise ce code
set ces_fichiers to (choose file with multiple selections allowed without invisibles) repeat with un_fichier in ces_fichiers set F to un_fichier as string if F ends with ".doc" then --traite seulement les fichiers avec l'extension " .doc" set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf tell application "Microsoft Word" -- fonctionne sous Word 2011 launch open un_fichier save as active document file name fichier_PDF file format format PDF close document 1 saving no end tell end if end repeat qui marchait sans soucis vendredi, ce matin quelques bugs, et maintenant il ne fonctionne plus du tout le message est le suivant error "Erreur dans Microsoft Word : active document ne comprend pas le message « convert »." number -1708 from active document Il semblerai que les documents ne sont pas convertis (ils sont en .doc) mais vendredi je n'avais pas de soucis, quelqu'un aurait une idée? |
|
|
22 Nov 2016, 07:31
Message
#29
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Ce script fonctionne toujours. N'aurais tu pas fait une mise à jour de ton système, de Word,...? Il y a forcément quelque chose de changé depuis vendredi. De plus, le message d'erreur n'est pas logique : ton script, tel que tu le publies ne demande pas à "active document" un "convert", mais un "save". Si tu es certain que rien dans ton système ou Word n'a changé, tu peux toujours essayer de recopier ce script: - ouvre un nouveau doc ScriptEditor vierge - copie/colle le text de ce script - compile le nouveau script Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
22 Nov 2016, 08:58
Message
#30
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 21 Nov 2016 Membre no 200 362 |
J'ai déjà essayer de copier le script dans une nouvelle fenêtre rien a faire, pas de mise a jour a ce que je sache mais je suis au boulot il n'est pas exclut que quelqu'un ai fait une mise a jour quelconque, dans ce cas que dois je modifier pour que le script fonctionne chez moi? Merci
|
|
|
Nous sommes le : 23rd April 2024 - 23:59 |