问题描述
某个文本项目要结题验收,结果说我们格式不规范,仔细一看是少了插图插表清单。一共二百多页的word手动添加这些清单是非常恐怖的工作量,笔者想到了编程。
尝试
试过word自带的VBA,觉得过于笨拙(其实是笔者水平不足),故放弃。
也试过python用来读取word的一个库 docx,代码如下。
from docx import Document
from docx.shared import Inches
document = Document('demo.docx') #打开文件demo.dEocx
for paragraph in document.paragraphs:
if '表' in paragraph.text and '-' in paragraph.text and ',' not in paragraph.text:
print(paragraph.text) #打印各段落内容文本
但是这种方法只能读取表的名称,而不能获取它的位置,考虑到这么敷衍,笔者辛辛苦苦搞的东西还得被退回来,真是憋屈。索性再辛苦一点,把位置索引搞出来。
思路
将docx文件转化为pdf文件,再通过python读取pdf文件的方式,获取页码。
环境
语言:python 3.6+
库: pdfminer
方法
from pdfminer.pdfparser