2020年9月9日水曜日

【メモ】PowerPointのスピーカーノートをプレーンテキストで抽出する方法【追記あり】

1. pptxファイルをZIPで解凍し,スピーカーノートが保存されているディレクトリに移動する

$ unzip hoge.pptx
$ cd ppt/notesSlides/

2. 複数のXMLファイルを1つのファイルにまとめる

$ cat *.xml > notes.xml

追記: この方法だとスライドの順番が狂ってしまいます。lsコマンドでxmlファイルを確認し,たとえばnotesSlide1.xml〜notesSlide67.xmlが含まれているようだったら,以下のように実行するとよいです。

$ cat notesSlide{1..67}.xml > notes.xml

3. タグの中身を取り出す

$ grep -o "<a:t[^>]*>[^<]*</a:t>" notes.xml | sed -e "s/<a:t>\(.*\)<\/a:t>/\1/" > notes.txt

参考: 【Shell】XMLファイルから要素や属性を抽出する - マイナー・マイナー