« ^ »

PDF内の見出しを安直に抽出する

所要時間: 約 1分

PDFの見出しを抽出したくなった。もっと良いやり方はあるようにも思えたが、時間がないのでとりあえず安直な方法で抽出することにした。その時の実装を記録しておく。

pdftotext example.pdf

実行するとexample.txtが生成される。そこにテキストの状態でPDFの内容が出力される。 その後、Pythonで正規表現を使って抽出を行う。ちなみにこの処理を行うためにPythonを用いる必要はない。ただ慣れていたから使用しただけだ。

#! /usr/bin/env python
import re

FILENAME = "example.txt"

regx = re.compile("^?[\d\.]+\s\S")

with open(FILENAME) as fp:
    for line in fp:
        if regx.match(line) and "。" not in line:
            print(line)

見出しには不要なものも混ざっている。それに関しては手動でクリーニングした。 それについてはEmacsのsort-lines、 delete-duplicate-linesを使って綺麗にした後、目視でクリーニングした。