KeynoteからPDF書き出しを行う際に、デフォルトの機能ではTOCも何もついていないのですが、AppleScriptからあらゆる手段を講じてTOCつきで書き出せるようにしています(新刊「Keynote Scripting Book with AppleScript」に掲載)。
一方、PowerPointではどうかといえば、sectionを作成し章構成を分けて、スライドを章ごとに折りたためるようになっています。PDF書き出し時にこのsectionが反映されるということはまったくなく、sectionを追加しようが書き出されたPDFはそのままです。
このsection内のインデント情報が取得できれば、それを元にTOCを作ってもよいのですが、残念ながらインデント情報は取り出せないようです。
ただ、処理に必要な最低限の情報が取れるので、Keynoteと同レベルのTOCつきPDFをAppleScriptで合成することは可能と思われます。
AppleScript名:各スライドから情報を取得.scpt |
tell application "Microsoft PowerPoint" tell active presentation set sList to every slide repeat with i in sList set j to contents of i tell j set sInd to section index set sNum to section number set myLayout to layout as string log {sInd, sNum, myLayout} end tell end repeat end tell end tell |
各スライドのタイトルを取得しようとしたら、素直に取得できず……かといって取れなさそうでもないので、いろいろ調べてみたら、どうやら取得できたようです。
AppleScript名:各slideのタイトル文字列を取得.scpt |
tell application "Microsoft PowerPoint" tell active presentation set sList to every slide repeat with i in sList set j to contents of i tell j set sInd to section index set sNum to section number set myLayout to layout as string log {sInd, sNum, myLayout} set plaList to every place holder set aPla to contents of first item of plaList set hText to (has text of text frame of aPla) as boolean log hText if hText = true then set hTextR to (content of text range of text frame of aPla) as string log hTextR end if end tell end repeat end tell end tell |