
講師が配布するスライドプレゼンテーションのPDFファイルには、各アニメーションフェーズで新しいページ(場合によってはスライドあたり20ページ)が作成されるため、多くのページが含まれることがよくあります。
画面でスライドショーを見たいときに便利です。しかし、私はスライドショーを印刷したいと思い、紙を節約するためにスライドショー全体を印刷したい(すべてのアニメーションステップが完了した後)。
これらのPDFの構造は次のとおりです。
Page: 1/12, slide: 1
Page: 2/12, slide: 1
Page: 3/12, slide: 1 -> complete first slide (this is what I want to print)
Page: 4/12, slide: 2
...
私はevinceが実際に私たちが進行中のスライドを追跡していることを見つけました。上記のように、実際のページ番号の横にスライド番号が表示されます。したがって、明らかにPDFファイルにはスライド番号が格納されており、どのページがスライドの最後のページであるかを識別して、そのスライドのみを印刷できるようにする必要があります。
だから私の質問は:pdftkやGSまたは同様のツールを使用して各スライドの最後のページ(同じスライド番号の最後のページ)を抽出する方法はありますか?
注:この質問は一般的な質問であると思いましたが、同様の投稿が見つかりませんでした。重複したらお詫び申し上げます。
答え1
これはこれを行い、Marcoのコメントの例で動作するスクリプトです。を活用しますpdftk
。
#!/bin/sh
PAGES=$(pdftk $1 dump_data |
grep PageLabelNewIndex |
cut -d' ' -f2 |
xargs -n1 expr -1 + |
tail -n+2 |
tr '\n' ' ');
# Add last page
PAGES="${PAGES} $(pdftk $1 dump_data |
grep NumberOfPages |
cut -d' ' -f2)";
pdftk $1 cat ${PAGES} output $2
入力ファイルを最初の引数として、出力ファイル名を2番目の引数として使用します。