繁体   English   中英

从发票中提取产品和价格

[英]Extract products and prices from invoice

我想从pdf中提取信息。

以下是策略的摘录,其中使用https://github.com/yob/pdf-reader/将pdf转换为txt文档。

Vehicle Description          2007, PORSCHE, CAYMAN 3.2

Registration Number          USD-2394                   Vin Number            FSDFKJL23123KFAS


MY COVER DETAILS

Cover                                                                                 USD37.45

我想提取例如车辆描述和保险费用:

vehicle.description => "2007, PORSCHE, CAYMAN 3.2"
vehicle.registration => "USD-2394"
vehicle.cost_of_cover => "37.45"

任何人都可以建议适当的方法。 问题在于策略的布局可能会更改,但数据大部分相同,只是值不同。

如果要使用正则表达式,任何人都可以提供示例代码。

查找说明

/Vehicle Description((?!Registration$).*)Registration/m

查找注册号

/Registration Number((?!Vin$).*)Vin/m

寻找保险费用

/Cover(.*)/m

这些都是相当懒惰的正则表达式匹配。 但是,您没有提供很多不同的示例。 但是这些应该可以帮助您入门。

用法示例:

match = /Vehicle Description((?!Registration$).*)Registration/m.match(PDFTEXT)

http://www.ruby-doc.org/core-2.0/Regexp.html

您可以使用正则表达式(regexp)轻松完成此操作。 假设您的pdf文本存储在变量text

description = text.scan(/Vehicle Description(.*)Registration/m).flatten[0].strip
registration = text.scan(/Registration Number(.*)Vin/m).flatten[0].strip
cover = text.scan(/Cover(.*)/m).flatten[0].strip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM