【发布时间】:2016-07-13 18:59:19
【问题描述】:
我需要分析一些 PDF 文件并从中提取数据
我使用pdftohtml 将 PDF 转换为 HTML
pdftohtml -s -i 001.pdf
例如我需要在 HTML 文档中的标题 Fragt 下获取金额 60,00。我可以做一些正则表达式来查找Fragt,但是如何在Fragt 元素下或元素右侧获取最近的元素?
是否有快速工具或其他工具可以更方便地进行数据提取,或者我必须计算相对于每个元素的位置?
HTML
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<title>001-html.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<br/>
<style type="text/css">
<!--
p {margin: 0; padding: 0;} .ft10{font-size:13px;font-family:Times;color:#000000;}
.ft11{font-size:13px;font-family:Times;color:#000000;}
.ft12{font-size:11px;font-family:Times;color:#000000;}
.ft13{font-size:19px;font-family:Times;color:#000000;}
.ft14{font-size:10px;font-family:Times;color:#000000;}
.ft15{font-size:12px;font-family:Times;color:#000000;}
.ft16{font-size:11px;font-family:Times;color:#000000;}
.ft17{font-size:13px;line-height:21px;font-family:Times;color:#000000;}
.ft18{font-size:19px;line-height:27px;font-family:Times;color:#000000;}
.ft19{font-size:11px;line-height:18px;font-family:Times;color:#000000;}
.ft110{font-size:11px;line-height:16px;font-family:Times;color:#000000;}
.ft111{font-size:10px;line-height:15px;font-family:Times;color:#000000;}
.ft112{font-size:11px;line-height:17px;font-family:Times;color:#000000;}
-->
</style>
</head>
<body bgcolor="#A0A0A0" vlink="blue" link="blue">
<div id="page1-div" style="position:relative;width:892px;height:1261px;">
<p style="position:absolute;top:385px;left:609px;white-space:nowrap" class="ft12"><b>Deres ref.:</b></p>
<p style="position:absolute;top:426px;left:69px;white-space:nowrap" class="ft12"><b>Varenr.</b></p>
<p style="position:absolute;top:426px;left:203px;white-space:nowrap" class="ft12"><b>Beskrivelse</b></p>
<p style="position:absolute;top:426px;left:519px;white-space:nowrap" class="ft12"><b>Antal</b></p>
<p style="position:absolute;top:426px;left:572px;white-space:nowrap" class="ft12"><b>Enhed</b></p>
<p style="position:absolute;top:426px;left:662px;white-space:nowrap" class="ft12"><b>A-pris</b></p>
<p style="position:absolute;top:426px;left:719px;white-space:nowrap" class="ft12"><b>%</b></p>
<p style="position:absolute;top:426px;left:797px;white-space:nowrap" class="ft12"><b>Beløb</b></p>
<p style="position:absolute;top:489px;left:68px;white-space:nowrap" class="ft15">tal140</p>
<p style="position:absolute;top:489px;left:203px;white-space:nowrap" class="ft15">Husnummer 1 H. 40 cm.</p>
<p style="position:absolute;top:489px;left:795px;white-space:nowrap" class="ft15"> 236,00</p>
<p style="position:absolute;top:489px;left:570px;white-space:nowrap" class="ft15">Stk.</p>
<p style="position:absolute;top:489px;left:654px;white-space:nowrap" class="ft15"> 118,00</p>
<p style="position:absolute;top:489px;left:508px;white-space:nowrap" class="ft15"> 2,00</p>
<p style="position:absolute;top:509px;left:68px;white-space:nowrap" class="ft15">tal440</p>
<p style="position:absolute;top:509px;left:203px;white-space:nowrap" class="ft15">Husnummer 4 H. 40 cm.</p>
<p style="position:absolute;top:509px;left:795px;white-space:nowrap" class="ft15"> 236,00</p>
<p style="position:absolute;top:509px;left:570px;white-space:nowrap" class="ft15">Stk.</p>
<p style="position:absolute;top:509px;left:654px;white-space:nowrap" class="ft15"> 118,00</p>
<p style="position:absolute;top:509px;left:508px;white-space:nowrap" class="ft15"> 2,00</p>
<p style="position:absolute;top:529px;left:68px;white-space:nowrap" class="ft15">bog</p>
<p style="position:absolute;top:529px;left:203px;white-space:nowrap" class="ft15">Bogstav H. 40 cm.</p>
<p style="position:absolute;top:529px;left:796px;white-space:nowrap" class="ft15"> 118,00</p>
<p style="position:absolute;top:529px;left:570px;white-space:nowrap" class="ft15">Stk.</p>
<p style="position:absolute;top:529px;left:654px;white-space:nowrap" class="ft15"> 118,00</p>
<p style="position:absolute;top:529px;left:508px;white-space:nowrap" class="ft15"> 1,00</p>
<p style="position:absolute;top:1014px;left:350px;white-space:nowrap" class="ft16">OBS ! Vi holder ferielukket i uge 28-29-30</p>
<p style="position:absolute;top:1104px;left:785px;white-space:nowrap" class="ft12"><b> 812,50</b></p>
<p style="position:absolute;top:1131px;left:680px;white-space:nowrap" class="ft12"><b>09-07-2016</b></p>
<p style="position:absolute;top:1104px;left:632px;white-space:nowrap" class="ft16"> 162,50</p>
<p style="position:absolute;top:1131px;left:216px;white-space:nowrap" class="ft12"><b>Netto kontant</b></p>
<p style="position:absolute;top:1104px;left:162px;white-space:nowrap" class="ft16"> 590,00</p>
<p style="position:absolute;top:1086px;left:792px;white-space:nowrap" class="ft12"><b>DKK</b></p>
<p style="position:absolute;top:1131px;left:153px;white-space:nowrap" class="ft12"><b>Betaling </b></p>
<p style="position:absolute;top:1131px;left:539px;white-space:nowrap" class="ft12"><b>Betales senest den .: </b></p>
<p style="position:absolute;top:1086px;left:137px;white-space:nowrap" class="ft12"><b>Netto-beløb</b></p>
<p style="position:absolute;top:1086px;left:276px;white-space:nowrap" class="ft12"><b>Fragt</b></p>
<p style="position:absolute;top:1086px;left:441px;white-space:nowrap" class="ft12"><b>Momspligtigt beløb</b></p>
<p style="position:absolute;top:1086px;left:569px;white-space:nowrap" class="ft12"><b>Momsbeløb 25 %</b></p>
<p style="position:absolute;top:1086px;left:691px;white-space:nowrap" class="ft12"><b>Faktura-total </b></p>
<p style="position:absolute;top:1104px;left:287px;white-space:nowrap" class="ft16"> 60,00</p>
<p style="position:absolute;top:1104px;left:511px;white-space:nowrap" class="ft16"> 650,00</p>
</div>
</body>
</html>
【问题讨论】:
-
这个问题与 C++ 有什么关系?
-
可能是 C++ 或 PHP 的解决方案
-
好的,所以你只是在钓鱼,它并不是真正的 C++ 或 PHP 问题。明白了。