我试图使用pdfminer来提取pdf表格中的填写内容。访问PDF中的指令是:pdfminer不会从填写的pdf表格提取数据
- 转到https://www.ffiec.gov/nicpubweb/nicweb/InstitutionProfile.aspx?parID_Rssd=1073757&parDT_END=99991231
- 单击“创建报告”从旁边第四次报告顶部(即银行机构系统性风险报告(FR Y型15)) :
- 点击“您的财务报告的要求准备好”
要提取蓝色的内容,我从this post复制的代码
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdftypes import resolve1
filename = 'FRY15_1073757_20160630.PDF'
fp = open(filename, 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
fields = resolve1(doc.catalog['AcroForm'])['Fields']
for i in fields:
field = resolve1(i)
name, value = field.get('T'), field.get('V')
print '{0}: {1}'.format(name, value)
这没有按预期提取数据字段 - 没有打印任何内容。我试过其他PDF相同的代码和它的工作,所以我怀疑故障可能与第一PDF的安全设置,如下所示
有关该代码工作的第二PDF做的安全设置为所有操作显示“允许”。我也尝试使用pdfminer的pdf2txt.py功能(请参阅here),但原始pdf表单(这是我想要的)字段中填写的数据不在转换的文本文件中;只有pdf的“单位”不可填写部分被转换。有趣的是,如果我使用Adobe Reader的另存为文本将pdf转换为文本文件,则可转换文本文件中的可填充部分为。这是我一直在解决失败的代码。
任何想法如何我可以直接从PDF格式提取数据?谢谢。
关于PDF,请访问https://www.ffiec.gov/nicpubweb/NICDataCache/FRY15/FRY15_1073757_20160630.PDF:*您正在查找的资源已被删除,名称已更改或暂时不可用。该网址说“... DataCache ...”,这并不令人惊讶...... – mkl
@mkl感谢您的单挑。链接已被修改。 – Nero