pdfminerを使ってPDFからreSTを生成
pdfminer.sixを改造してreStructuredTextを生成。
2021/11/06時点でコードを書くのに20時間くらい使った。
使用したコード
https://github.com/shimizukawa/pdfminer-six-rst-converter
pdf2txt.py
pdfminer.sixの実行コードのコピー
TextConverterクラスをreST生成するクラスに差し替えている
textconverter.py
元の TextConverter を拡張して、PDFのPage構造をreSTに吐き出すコード群
PDFのブロック登場順を人間が読む順に並び替えたり、フォントから構造を把握したりしている
元PDFと取り出した結果の比較
元PDF
https://scrapbox.io/files/6185fcacc36d6f002390aa6a.png
reST
https://scrapbox.io/files/6185fd6efb7d4d00231a8387.png
SphinxでHTMLビルド
https://scrapbox.io/files/6185fda083738800231434fd.png
SphinxでPDFビルド
https://scrapbox.io/files/6185fcd81499190022fe3a2a.png