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を使って綺麗にした後、目視でクリーニングした。