使用Java和pdfBox在pdf中搜索美元金额

问题描述 投票:0回答:1

这是为我节省了大约10分钟的工作时间,但我并没有因此得到报酬。这是Java。自从我接触Java以来​​已经有一段时间了。我正在搜索PDF,以查找仅通过pdfBox使用美元货币形式的数字。这是文档看起来很像的东西。

Activity Report
Business Date: 10/9/2019   Property Code: me.ra777   Shift: 9   User: me.ra777
Reserve 

Account Person Name Start End Days Status Money TypeOfCode Type Location Source GTD Date User
077071543 Smith's, John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777
877075375 45Lisa, Jo.nes Mid  9/25/19 9/26/19 1 I 99.00 SEG SNKE 138 WI VI 9/25/19 me.ra777
677256813 Jo^hn Wi.ck Ed 9/26/19 9/27/19 1 O 129.00 TRQ SNQQ 132 WI VI 9/26/19 me.ra777
477007406 Guys, Are 9/26/19 9/27/19 1 O 129.00 BAR SNQQ 133 WI VI 9/26/19 me.ra777
977495887 Last, First 9/27/19 9/28/19 1 O 165.00 BAR SNKE 438 WI VI 9/27/19 me.ra777
677472246 Po.or, Rich 9/27/19 9/28/19 1 O 165.00 BAR SNKE 138 WI MC 9/27/19 me.ra777
677457228 Dude, Isn't Here 9/27/19 9/28/19 1 I 180.00 BAR SNQQ 433 WI MC 9/27/19 me.ra777

Date/Time of Printing: 10/10/2019 1:42 PM   Software Version: ssrs7x67    Page 1 of 1

如果我使用了这样的方法……

public static void oneLine(Scanner sc){

    while (sc.hasNextLine()) {   
        String line = sc.nextLine();   
    if(line.contains(" WI ")){    
        displayArea.append("\n"+line + "\n");
        break; 
    }else{}

     }
        sc.close();
    }    

我只会将此用于我的输出。

077071543 Smith's,John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777

我想要的输出就是

55.50

甚至可能是所有美元金额都这样

55.5099.00129.00129.00165.00165.00180.00

关于此文档,还可以提供更多数据。我只需要这些行中的数据

077071543 Smith's, John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777
877075375 45Lisa, Jo.nes Mid  9/25/19 9/26/19 1 I 99.00 SEG SNKE 138 WI VI 9/25/19 me.ra777
677256813 Jo^hn Wi.ck Ed 9/26/19 9/27/19 1 O 129.00 TRQ SNQQ 132 WI VI 9/26/19 me.ra777
477007406 Guys, Are 9/26/19 9/27/19 1 O 129.00 BAR SNQQ 133 WI VI 9/26/19 me.ra777
977495887 Last, First 9/27/19 9/28/19 1 O 165.00 BAR SNKE 438 WI VI 9/27/19 me.ra777
677472246 Po.or, Rich 9/27/19 9/28/19 1 O 165.00 BAR SNKE 138 WI MC 9/27/19 me.ra777
677457228 Dude, Isn't Here 9/27/19 9/28/19 1 I 180.00 BAR SNQQ 433 WI MC 9/27/19 me.ra777

这些行中的所有内容都可以更改,除了在来源处显示“ WI”和在用户下方显示“ me.ra777”以外,其他人都可以弄乱名称,例如您看到“ 45Lisa,Jo.nes”和“ Jo ^ hn Wi.ck“

此后,我最终仍有更多工作要做。我需要将所有美元金额相加,实际上,除以100还要多一些;在这个例子中,如果我对数学没错,我相信会给我9.225。

我真的希望我可以像这里一样更改部分代码...。

    if(line.contains(" WI ")){

因此,我至少可以仅获得所需行的输出,然后我可以自己在那里做点工作,然后尝试自己找出其余的行。

这是为我节省了大约10分钟的工作时间,但我并没有因此得到报酬。这是Java。自从我接触Java以来​​已经有一段时间了。我正在搜索PDF,仅查找使用USD的数字...

java pdf pdfbox
1个回答
0
投票

解决了。简而言之,我有两种主要方法----> find()和getUSD(Final String)

© www.soinside.com 2019 - 2024. All rights reserved.