У меня огромный набор файлов (4000+) в старом формате Apple (Appleworks). Моим сотрудникам нужно, чтобы все они были обновлены в формате PDF. Открыв документы в Appleworks и используя системный диалог печати, я могу сохранить их в PDF - это идеально. Однако я полный кусок с Applescript / Automator.
Используя скрипт Python, я смог собрать все файлы Appleworks со своего компьютера начальника и поместить их в каталог; каждый файл затем находится в подкаталоге с файлом .txt, содержащим его исходное местоположение (куда, в конечном итоге, мне придется их вернуть).
Мне нужно, чтобы сценарий рекурсивно перемещался по этому массивному каталогу, получая каждый файл, который не является ни папкой, ни документом .txt, и сохранял его в PDF в том же каталоге, в котором был найден исходный файл. т.е.
/Appleworks/Boss_File_1/
будет содержать
/Appleworks/Boss_File_1/Boss_file_1.cwk
и /Appleworks/Boss_File_1/path.txt
Но в конечном итоге также должен содержать /Appleworks/Boss_File_1/Boss_File_1.pdf
Я могу пойти на половину с любым решением, но не знаю, как заставить их работать вместе. Я использую Applescript, он выглядит так:
set appleworksFolder to choose folder
tell application "Finder"
set folderItems to (files of entire contents of appleworksFolder)
repeat with I from 1 to number of items in folderItems
set the_doc to item I of folderItems
if name of the_doc is not "path.txt" then
try
tell application "AppleWorks 6"
open the_doc
tell application "System Events"
tell process "Appleworks"
keystroke "p" using command down
click menu button "PDF" of window "Print"
click menu item "Save as PDF…" of menu 1 of menu button "PDF" of window "Print"
click button "Save" of window "Save"
end tell
end tell
end tell
end try
else
tell application "Finder"
delete the_doc
end tell
end if
end repeat
конец сказать
Это открывает диалог печати, но никогда не продвигается дальше, и я не знаю почему. Я понимаю, что этот сценарий также не занимается возвратом документа в исходную папку, но в Applescript я мог бы достаточно легко сделать это, если бы мог пройти фактическую печать в PDF.
Между тем, в Automator, используя этот рабочий процесс:
Get Specified Finder Items
Get Folder Contents
Filter Finder Items (by kind and then by file extension is not .txt)
Open Finder Items (with Appleworks)
Тогда я застрял; использование фактического Print Finder Items
и выбор Adobe PDF
, кажется, на самом деле вообще ничего не делают, и записывать себя с использованием процесса печати в pdf в реальном времени бесполезно, потому что я не знаю, как заставить Automator сохранить путь, из которого был создан файл, и обеспечить его печать в Это.
Если кто-нибудь может помочь мне как-то собрать это воедино, я был бы безмерно благодарен. Спасибо.