使用PyPDF2获取复选框和单选字段时出现问题

我的项目涉及从我正在使用的一堆PDF表单文件中读取文本
PyPDF2
开源库。获取文本数据没有问题,如下所示:

选择 | 换行 | 行号
  1.  
  2. reader = PdfReader("data/test.pdf")
  3. cnt = len(reader.pages)
  4. print("reading pdf (%d pages)" % cnt)
  5. page = reader.pages[cnt-1]
  6. lines = page.extract_text().splitlines()
  7. print("%d lines extracted..." % len(lines))
  8.  

但是,此文本不包含单选和复选框的选中状态。我只得到普通文本(例如,"是"、"否"),而不是这些值。
我还尝试了Reader.get_field()和Reader.get_form_Text_field()方法,如
他们的文档
但它们返回空值。我也试着读了一遍
通过注释
但在页面上找不到"/Annots"。当我在记事本++中打开PDF以查看其元数据时,我得到的是:

选择 | 换行 | 行号
  1. %PDF-1.4
  2. %²³´µ
  3. %Generated by ExpertPdf v9.2.2
  4.  

在我看来,这些复选框不是PDF中常用的表单域,但看起来类似于HTML元素。有没有办法使用python来提取这些字段?

标签: python

添加新评论