您应该能够使用pdfminer做到这一点,但这将需要深入研究pdfminer的内部结构以及有关pdf格式的知识(当然是wrt形式,但也需要了解pdf的内部结构,例如“字典”和“间接对象”)
。
该示例可能会为您提供帮助(我认为它仅适用于简单情况,没有嵌套字段等)。
import sysfrom pdfminer.pdfparser import PDFParserfrom pdfminer.pdfdocument import PDFdocumentfrom pdfminer.pdftypes import resolve1filename = sys.argv[1]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)
编辑:忘记提及:如果您需要提供密码,请将其传递给
doc.initialize()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)