尝试使用pdfquery,PDFDocument和PDFParser解析PDF文件。 还尝试了pdfquery示例代码。 Alwyas从cssselect / parser.py
获取错误SelectorSyntaxError:预期的字符串或标识
尝试升级cssselect,没有用。
任何人都有线索? 我正在运行Python 2.7
我使用的代码和示例文件来自:https://github.com/jcushman/pdfquery
pdf = pdfquery.PDFQuery("tests/samples/IRS_1040A.pdf")
pdf.extract( [
('with_parent','LTPage[pageid=1]'),
('with_formatter', 'text'),
('last_name', 'LTTextLineHorizontal:in_bbox("315,680,395,700")'),
('spouse', 'LTTextLineHorizontal:in_bbox("170,650,220,680")'),
('with_parent','LTPage[pageid=2]'),
('oath', 'LTTextLineHorizontal:contains("perjury")', lambda match: match.text()[:30]+"..."),
('year', 'LTTextLineHorizontal:contains("Form 1040A (")', lambda match: int(match.text()[-5:-1]))
])
答案 0 :(得分:1)
我查看了这些示例,看起来你错过了一些引号(在xpath表达式LTPage[pageid="1"]
和LTPage[pageid="2"]
中。引号中没有错误信息。
pdf.extract( [
('with_parent','LTPage[pageid="1"]'),
('with_formatter', 'text'),
('last_name', 'LTTextLineHorizontal:in_bbox("315,680,395,700")'),
('spouse', 'LTTextLineHorizontal:in_bbox("170,650,220,680")'),
('with_parent','LTPage[pageid="2"]'),
('oath', 'LTTextLineHorizontal:contains("perjury")', lambda match: match.text()[:30]+"..."),
('year', 'LTTextLineHorizontal:contains("Form 1040A (")', lambda match: int(match.text()[-5:-1]))
])