Bir PowerPoint pptx dosyasını komut satırından PDF olarak kaydetmek için küçük bir AppleScript var. Senaryoyu her 6 ayda bir kullanıyorum ve geçen sonbaharda hala çalışıyordu. Ama bugün sorunlarla karşılaşıyorum. Bu arada 10.14’e gittim ve sanırım Office için Mac’te de bazı güncellemeler vardı. Ancak bu sorunun nereden geldiğine dair hiçbir fikrim olmadığı için, bunlar da tamamen alakasız bilgi olabilir.
Komut dosyasındaki sorun şudur: Komut dosyasını çağırırken, bir PDF'yi kaydetmez, ancak dosyayı varsayılan yazıcıya gönderir.
İşte zaten güncellenmiş, ancak hala çalışan bir komut dosyası:
on run arguments
tell application "Finder"
set src to POSIX file (first item of arguments) as alias
set dest to (second item of arguments) as text
open src
delay 10
tell application "Microsoft PowerPoint"
save in dest as save as PDF
close
end tell
end tell
end run
Çok fazla kod olmadığından ve komut dosyası daha önce çalıştığından, şu an neyin yanlış olduğu konusunda hiçbir fikrim yok.
@ MaxWyss'ın yorumu bana komut satırından komut dosyasına bakmamı sağladı. Osascript ile birkaç adımı argüman olarak yürüttüm:
$ osascript -e 'tell application "Finder"' -e 'set fileAlias to POSIX file ("file:///Users/me/folder/file.pptx") as alias' -e 'set theOutputPath to ("file:///Users/me/folder/test.pdf") as text' -e 'open fileAlias' -e 'delay 10' -e 'tell application "Microsoft PowerPoint"' -e 'save in theOutputPath as save as PDF' -e 'end tell' -e 'end tell'
281:320: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)
Hata mesajına biraz şaşırdım, bu yüzden komut dosyasını tekrar çalıştırmayı denedim:
$ osascript pptx2pdf.scpt file:///Users/me/folder/file.pptx test.pdf
pptx2pdf.scpt: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)
Neden bu hatayı gözden kaçırdım bilmiyorum. Sanırım senaryoda değiştirdiğim birçok şey yüzünden. Bununla birlikte, bu, slaytlar hala yazıcı kuyruğuna gönderildiğinden maalesef beni hala ipucu olmadan bırakan bir hata mesajıdır.
save [in file]
, ancak ikinci argümanı bir dosya veya POSIX dosyası yapamıyorum. Bu gerçekten can sıkıcı bir durum. Sanırım, onları elle patlatmam gerekiyor ...