39 PDFの目次の栞 (PDF document outline)

書籍をスキャンして、OCR して、PDF を作る。 それだけではイマイチで、目次を栞 (しおり) にしている。


栞は bookmark ということもあるが、 PDF の bookmark には複数の意味があるようで、 私は栞ということにしている。 あれ、英語だと何と言えばよいのかな? … Chappy 君によると、 “PDF document outline” と言えば良いそうだ。そうなんだ。 the PDF document outline (commonly called bookmarks) と言うと、 安全だろうか。


目次の栞があるかどうかで、そのPDFが読みやすいかどうか、 天地の違いがある。

以前は、手動で目次の栞を作っていたが、 最近は ChatGPT に栞を作ってもらっている。

prompt-bookmark.txt

prompt-bookmark-v2.txt

「prompt-bookmark.txt の指示に従って、これらのPDFの目次の栞を作ってください。」

おかげさまで、手持ちのPDF、ほぼ目次の栞がついているように出来た。 やり残しを探さないと。

mupdf に含まれる mutool というのを使えば良いそうな。

port search mupdf
sudo port install py-mupdf

(それから pdftotext も使うので、 sudo port install poppler も必要だ。 大抵の場合やってあるけれど。)

たとえば次のようにすると、栞が表示される。
mutool show 一松_ベクトル解析入門.pdf outline

私は栞の有無だけ調べたいのだ。 シェル・スクリプトにでもするか。
cb
#!/bin/sh
for f in "$@"
do
    result=$(mutool show "$f" outline 2>/dev/null)
    status=$?

    if (( status != 0 )); then
        printf "判定不能  %s\n" "$f"
    elif [[ -n "$result" ]]; then
        printf "栞あり    %s\n" "$f"
    else
        printf "栞なし    %s\n" "$f"
    fi
done



桂田 祐史