Créer des pdf à partir de fichiers .doc avec automator

voir "name extension" dans les propriétés de "item". je veux bien mais où quoi comment qu'est-ce donc ?
Apparement, si j'ai bien compris ta remarque, pour passer par l'imprimante virtuelle le script se base sur les "Type" et "Créateur" pour identifier les documents à traiter. Or il se trouve que cette notion n'est pas toujours présente dans les documents. Pire, ça peut éventuellemnet avoir des valeurs différentes avec des documents plus anciens ou, que sais-je, des .doc créés avec NeoOffice ou TextEdit - pour ma part je me suis limité à vérifier dans un document créé avec Word 2004.

Historiquement, les fichiers sur le Mac n'avaient pas d'extension mais étaient identifiés par ces donnés (Type et Créateur) qui sont conservées dans un fichier invisible portant le même nom que celui qui contient les données (d'où le fameux gag des fichiers en double quand on récupére des données sur un PC). Mais cette façon de procéder est en perte de vitesse, parce que Mac OS X est un Unix et gère donc les extensions. Même si c'est aussi capable de toujours utiliser les Type et Createur quand ils sont présents, on trouve de plus en plus de fichiers qui n'ont que les extensions comme identifiant.

De la découle ma suggestion de modifier le script de façon à ce qu'il ne se réfère pas aux Type et Créateur mais plutôt à l'extension. Laquelle extension est une propriété de "item" dans AppleScript (ce qu'on peut voir en regardant dans le "dictionnaire" de l'application "Finder"). Il faut donc modifier l'AppleScript pour qu'il identifie les documents en se servant de cette propriété. Là où c'est moins simple, c'est que je n'ai pas regardé le script et ne suis donc pas en mesure de te dire comment procéder.
 
t'as essayé le lien de Moonwalker ?
Ca crée une imprimante virtuelle PDF, grâce à ça tu dois pouvoir y accéder depuis Automator ;)

oui, j'ai essayé ça marche. Reste à le faire marcher pour une fichier en .doc...

Merci pour tes précisions aliboron :)
Et voila le script... (zut, la mise en page est flinguée). J'avoue comprendre à peu près le programme, j'ai quelques reste de ma lointaine formation scientifique mais de là à reprogrammer...

property RadarProblem3258323IsFixed : false
property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "PDF", "TEXT"}
property extension_list : {"jpg", "gif", "pct", "tif", "pdf", "rtf"}
--html is not currently handled

on run {}
tell application "Finder"
try
set FinderSelection to the selection as alias list
on error
--Finder Scripting fails with one item (Radar problem 2741967)
set FinderSelection to the selection
end try
end tell

if RadarProblem3258323IsFixed then
set FS to FinderSelection
--Ideally, this list could be passed to the open handler
else
set FS to {}
repeat with EachItem in FinderSelection
copy EachItem as alias to end of FS
end repeat
end if

set SelectionCount to number of FS -- count
if SelectionCount is 0 then
set FS to userPicksFolder()
else if the SelectionCount is 1 then
set MyPath to path to me
if MyPath is item 1 of FS then
--If I'm a droplet then I was double-clicked
set FS to userPicksFolder()
end if
else
--I'm not a double-clicked droplet
end if
open FS
end run

on userPicksFolder()
set these_items to {}
set these_items to (choose file with prompt "Select a file to convert to PDF:" of type {"JPEG", "GIFf", "PICT", "TIFF", "TEXT", "RTF"}) as list
end userPicksFolder

on open these_items
set thesefiles to {}
set the item_info to {}
repeat with i from 1 to the count of these_items
set this_item to (item i of these_items)
set the item_info to info for this_item

if folder of the item_info is true then --if the item is a folder
processFolder(this_item)
else if ((folder of the item_info is false) and ¬
(alias of the item_info is false)) and ¬
(the file type of the item_info is in the type_list) or ¬
((the name extension of the item_info) is in the extension_list) then

set theFilePath to (item i of these_items as string)
set thePOSIXFilePath to POSIX path of theFilePath as string
processFile(thePOSIXFilePath)
end if
end repeat
end open

--process folders
on processFolder(theFolder)
set these_items to list folder theFolder without invisibles
repeat with i from 1 to the count of these_items
set this_item to alias ((theFolder as text) & (item i of these_items))
set the item_info to info for this_item
if folder of the item_info is true then
processFolder(this_item)
else if (alias of the item_info is false) and ¬
((the file type of the item_info is in the type_list) or ¬
the name extension of the item_info is in the extension_list) then
set theFilePath to (this_item as string)
set thePOSIXFilePath to POSIX path of theFilePath as string
processFile(thePOSIXFilePath)
end if
end repeat
end processFolder

on processFile(thePOSIXFileName)
try
set terminalCommand to ""
set convertCommand to "/System/Library/Printers/Libraries/./convert "
set newFileName to thePOSIXFileName & ".pdf"
set terminalCommand to convertCommand & "-f " & "\"" & thePOSIXFileName & "\"" & " -o " & "\"" & newFileName & "\"" & " -j \"application/pdf\""

do shell script terminalCommand
end try
end processFile
 
Et voila le script... (zut, la mise en page est flinguée). J'avoue comprendre à peu près le programme, j'ai quelques reste de ma lointaine formation scientifique mais de là à reprogrammer...
Ben non, pas besoin de tout refaire, le cas de figure pour les extensions est apparemment prévu. A vue de nez, je dirais qu'il peut (peut-être) suffire d'ajouter "doc" dans la liste des extensions possibles (ligne 3), et donc la modifier comme suit :
property extension_list : {"jpg", "gif", "pct", "tif", "pdf", "rtf", "doc"}
Bon, de là à dire que ça suffit, il y a un pas que je ne franchirai pas, surtout parce que je n'ai aucunement le moyen de tester la chose. Mais s'il y a le rtf, le doc devrait pouvoir passer.

A vue de nez, les extensions ne sont analysée que dans le cas où c'est un dossier qui fait l'objet de la sélection (donc les extensions des documents contenus) et, si le document a une des extensions de la liste, il est envoyé au traitement de conversion lequel consiste à lui appliquer un "shell script" (en gros, c'est la partie à la fin, à partir de "--process folders").

Mais bon, ce n'est qu'une analyse à vue de nez, ça mériterait évidemment d'être analysé avec un minimum d'attention...
 
J'avais pensé à ça. J'ai essayé mais ça ne change rien.
J'ai refait en ayant cliqué auparavant sur "historique des évènements", histoire de voir ce qui se passe. Et j'y ai vu tout un paquet d'information sur le fichier en cours de traitement, entre autres "file type : "NO%F" ". J'ai donc rajouté cela dans la "type_list" du script. Rien a changé.
J'ai essayé avec un .rtf pour voir et... il me met le même file type...

je surnage :mouais::(:eek::eek:
 
Je reprends ce fil, car il s’arrête sans solution et c’est très frustrant…j’ai le même problème, à savoir une grande quantité de fichiers créés sous Word (donc .DOC) a convertir en PDF et le fait de les ouvrir un par un sous Word et les enregistrer en PDF devrait me prendre a peu prés deux jours de travail pas trop valorisant, donc si vous avez des solutions je suis preneur.
Merci d’avance.
Fred.
 
j’ai le même problème, à savoir une grande quantité de fichiers créés sous Word (donc .DOC) a convertir en PDF .../...
De quelle version de Word disposes-tu, dans quelle version de Mac OS X ? Quels essais as-tu fait parmi les débuts de solutions proposées ?
 
Bonjour, et tout d’abord merci de t’intéresser à mon cas, pour répondre à tes questions, mon système d’exploitation est Snow Léopard 10.6.1 , et Word Mac 2008.
Actuellement, j’ai dans plusieurs dossiers des listes de documents au format DOC, que je peut convertir en les ouvrants sous Word et en faisant « Enregistrer sous… » PDF, cette solution est super d’un point de vue technique, car je me trouve alors avec deux dossiers, un avec l’extension DOC et l’autre PDF, c’est exactement ce que je cherche, mais au bas mot j’ai 500 dossiers à convertir, je cherche un moyen pour automatiser ce que Word fait très bien.
Je tiens à préciser que mon niveau en informatique est à peine « pre-intermediate » et pour moi jusqu'à aujourd’hui le script c’était surtout au cinéma…c’est pour dire.
D’avance Merci.
Fred.
 
Pour ta demande il faut voir Automator dont d'excellent tutoriaux vidéos sont sur les sites www.debutersurmac.com et www.rhinos-mac.fr. Cela devrait se faire sans trop de mal après 3 ou 4 jours de saines lectures.....
je plaisante .... mais Automator n'est pas si simple que cela à appréhender au début....
 
mon système d’exploitation est Snow Léopard 10.6.1 , et Word Mac 2008.
S'il s'agit de la version "standard" d'Office, tu as un bon nombre d'action Automator parmi lesquelles des outils pour automatiser l'impression au format PDF. Mais ces actions ne sont pas fournies avec la version "Famille et étudiant". A préciser, donc.

Ceci dit, je pense que ça doit rester faisable par AppleScript (même si ce n'est pas toujours évident pour le débutant, ça peut valoir la peine de s'y pencher). Tu peux aussi repartir de ce qui a été décrit précédemment, en convertissant au préalable tes documents en .rtf, par exemple à l'aide de "Convert DOC to RTF"...

Sinon, j'essayerai de voir ce soir si l'option d'impression en PDF n'est pas directement disponible dans le dictionnaire AppleScript de Word 2008.
 
Désolé effectivement je n'avais pas précisé c'est malheureusement la version "famille étudiant" d'Office, malgré tout j'ai bien un menu d'exemple de flux automator sur Word, mais cela ne fonctionne pas (il ne se passe rien quand je click) je vais essayer de voir du coté des scripts et d'automator, mais la méga boulot.
Sinon j'ai 697 fichiers à convertir, si je trouve rien j'y colle ma femme et mes gosses ce week-end, on fera des tours de garde, à raison d'un fichier converti toutes les 2 minutes en 24h c'est bâclé et tant pis pour le barbecue....
 
j'essayerai de voir ce soir si l'option d'impression en PDF n'est pas directement disponible dans le dictionnaire AppleScript de Word 2008.
Oui, on peut utiliser "save as" avec le format PDF dans Word 2008. Pas trop le temps là tout de suite, mais on doit pouvoir en faire quelque chose ;)