2021年4月16日金曜日

(O'Reillyの)PDF電子書籍の目録ページを安直に作ってみた

 まぁ、誰でもやっていると思いますが。

道具はPython3.xにPyPDF2というライブラリを組み合わせて。。。

https://note.nkmk.me/python-pypdf2-pdf-metadata/

とPython公式ドキュメントを見ながらうりゃぁっという感じで書いたので、かなりええ加減ですね。標準出力を 適当にリダイレクトして foo.htmlにでもしてブラウザで開くと。。     

改良の余地はHTMLのリファインの他はソート順とかかなぁ。

import glob
import PyPDF2
import html
import urllib.parse

files = glob.glob('*.pdf')

print("<html>")
print("<body>")
print("<dl>")

for f in files:
    pdf = PyPDF2.PdfFileReader(f)
    # print(pdf.documentInfo)
    print('<a href="{}">'.format(urllib.parse.quote(f)))
    print('<dt>')
    print(html.escape(pdf.documentInfo['/Title'], quote=True))
    print('</dt><dd>')
    print(html.escape(pdf.documentInfo['/Author'], quote=True))
    print('(')
    print(html.escape(pdf.documentInfo['/CreationDate'], quote=True))
    print(')</dd></a>')

print("</dl>")
print("</body>")
print("</html>")