V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dengjunwen
V2EX  ›  外包

兼职: 小软件,自动化处理中国发票 PDF 文件的 Windows 软件

  •  
  •   dengjunwen · 48 天前 · 2078 次点击
    这是一个创建于 48 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 chatAi 生成了需求,大概就是这样。代码也给我生成了,我太懒了太忙了,来找有时间的小伙伴。

    酬劳:500 元
    项目周期:尽快完成
    优先语言:Java (其他语言亦可考虑)

    项目描述

    我需要开发一款 Windows 应用程序,用于自动处理存放在指定文件夹中的中国高速费发票( PDF 格式)。该软件将实现文件识别、重命名、分类整理以及每日通行费总金额的统计,从而简化每月报销流程,节省时间。

    主要功能需求

    1. 文件处理

      • 输入文件夹:用户指定一个包含发票 PDF 文件的文件夹。
      • 文件识别
        • 识别每个 PDF 文件中的“通行日期”。
        • 提取每个 PDF 文件中的“通行费”金额。
    2. 文件重命名与分类

      • 重命名:将每个 PDF 文件重命名为其识别出的“通行日期”(格式如 YYYY-MM-DD.pdf)。
      • 分类存放
        • 根据“通行日期”将 PDF 文件分类存放到对应的子文件夹中(如 2024-04-25 文件夹)。
        • 处理同一天多张发票的情况,自动在文件名中添加序号(如 2024-04-25_1.pdf)。
    3. 数据汇总

      • 每日通行费总金额计算:统计每个“通行日期”对应的所有发票中的“通行费”总金额。
      • 汇总输出:将统计结果导出为 Excel 或 CSV 文件,方便查看和上传到公司系统。
    4. 用户界面(可选)

      • 提供图形用户界面( GUI ),用户可以:
        • 选择输入和输出文件夹。
        • 查看处理进度和日志。
        • 启动处理任务。
    5. 错误处理与日志记录

      • 记录无法识别或处理的文件,便于后续手动检查。
      • 提供错误提示,帮助用户理解处理过程中出现的问题。

    技术要求

    • 编程语言:优先考虑 Java ,其他语言(如 Python )亦可考虑。
    • 主要功能模块
      • PDF 解析
        • 使用合适的 PDF 解析库提取文本内容(如 Apache PDFBox )。
        • 对于扫描件 PDF ,集成 OCR 工具进行文字识别(如 Tess4J )。
      • 数据提取
        • 使用正则表达式或字符串处理技术,从提取的文本中解析“通行日期”和“通行费”。
      • 文件操作
        • 实现文件重命名和分类存放。
        • 处理文件名冲突,确保文件名唯一。
      • 数据汇总与导出
        • 使用 Apache POI 生成 Excel 汇总文件,或生成 CSV 格式文件。
      • 用户界面(可选)
        • 使用 Java Swing 或 JavaFX 创建友好的 GUI ,提升用户体验。
      • 打包与部署
        • 将程序打包为 Windows 可执行文件(.exe ),便于在未安装 Java 环境的机器上运行。

    交付内容

    • 完整的 Windows 可执行文件(.exe )。
    • 源代码
    第 1 条附言  ·  47 天前
    结贴,最后淘宝上叫人用 python 做了,各位都是大能,看不上这点小钱,这就算了,不需要冷嘲热讽,做的人大把,人家几个小时就搞搞
    第 2 条附言  ·  47 天前
    价格是 500 ,发过去发票,立马就给我识别出来结果。然后就是最简单的业务逻辑。 各位大爷可以不用操心了
    79 条回复    2024-10-08 21:43:23 +08:00
    donaldturinglee
        1
    donaldturinglee  
       48 天前
    OCR 就得好好喝上一壶了,留给有需要的人
    tool2dx
        2
    tool2dx  
       48 天前 via Android
    @donaldturinglee 官方下载的 pdf 又不是 jpg ,感觉不用识别,能直接提取。
    Abbeyok
        3
    Abbeyok  
       48 天前 via iPhone
    至少 4 位数,才有人接
    dengjunwen
        4
    dengjunwen  
    OP
       48 天前
    @Abbeyok 淘宝 500 ,但是不是我擅长的语言
    dengjunwen
        5
    dengjunwen  
    OP
       48 天前
    @tool2dx 是的,
    shizhibuyu2023
        6
    shizhibuyu2023  
       48 天前
    上闲鱼找兼职的大学生碰碰运气吧,在这里加个零起步
    ruobingm
        7
    ruobingm  
       48 天前
    500 元真大
    neoblackcap
        8
    neoblackcap  
       48 天前
    只要有接触过 PDF 的人就知道,PDF 解析并不是一个简单的活。连就连大厂的 PDF 支撑很多都是外购的解决方案。
    如果你硬要用 OCR 的方案的话,可能百度的飞桨 OCR 效果还行。
    TimG
        9
    TimG  
       48 天前 via Android
    赞同楼上,刚做过两个 PDF 相关的项目,现在看到 PDF 就反胃......本来没有 PDF 一路畅通,需求加上 PDF 四处掉坑
    dengjunwen
        10
    dengjunwen  
    OP
       48 天前
    @shizhibuyu2023 哎,别井底之蛙好不好,我淘宝做吧
    shizhibuyu2023
        11
    shizhibuyu2023  
       48 天前   ❤️ 3
    @dengjunwen #10 划算你能不自己做?沙币
    googlefans
        12
    googlefans  
       48 天前
    ai 自己生成
    dbskcnc
        13
    dbskcnc  
       48 天前
    @dengjunwen 不用代码的话倒可以一谈
    needpp
        14
    needpp  
       48 天前
    还是那句话,程序员的钱太难赚了
    shadowyue
        15
    shadowyue  
       48 天前
    op ,如果淘宝 500 就做成了,麻烦把店家给我介绍下
    sarakeal
        16
    sarakeal  
       48 天前
    我用 python 做过类似的工具,比这个稍微复杂一点。500 确实太少了,只够半天到一天的工作时间
    0xfb709394
        17
    0xfb709394  
       48 天前 via iPhone
    什么神仙淘宝店才 500 ?我问个图片爬虫项目都要 1000 起步,还是易语言写的
    Meteora626
        18
    Meteora626  
       47 天前
    扫描件 如果清晰,不带 gui 500 估计还有人做。淘宝 500 ,开发能拿到 400 就不错,估计是烂摊子
    sarakeal
        19
    sarakeal  
       47 天前
    没那么复杂,OCR 和 pdf 解析都有限制条件。比如要解析的坐标位置是固定的,就框定范围再解析这样就会准确很多,当然我只试过数字的,其他文本没测试过准确度; pdf 用 python 的 PyMuPDF (fitz)或者 pdfplumber 都可以很快获取到文本,然后得找规律去获取想要的信息,比如是以“通行日期”开头这样去匹配。费用确实不高,即使是我有模板改一下能用的情况下 500 也比较勉强
    listen2wind
        20
    listen2wind  
       47 天前   ❤️ 1
    @dengjunwen #10 那你直接淘宝去做不就行了?来这里干什么?脱裤子放屁。
    hardto
        21
    hardto  
       47 天前
    @sarakeal 太麻烦了,现在流行深度学习的方案,要么 ocr ,要么用 llm 整理。不过 500 在这里是没人做的,至少后面加个 0
    dengjunwen
        22
    dengjunwen  
    OP
       47 天前
    @dbskcnc 不用代码怎么做呀
    dengjunwen
        23
    dengjunwen  
    OP
       47 天前
    @shadowyue 摸鱼脚本怪,自己去搜索
    dengjunwen
        24
    dengjunwen  
    OP
       47 天前
    @listen2wind 我就是想来这里脱裤子放屁给你闻,香不香
    dbskcnc
        25
    dbskcnc  
       47 天前 via Android
    @dengjunwen 只给 exe
    tidaizhe
        26
    tidaizhe  
       47 天前
    我折腾过发票的 OCR 识别, 最后还是考虑使用云服务了, 每个云服务每月都有几百上千次免费次数, 轮着来足够我使用了
    ddddd0
        27
    ddddd0  
       47 天前 via iPhone
    @dengjunwen op 素质是够低的。Block
    kbs10000
        28
    kbs10000  
       47 天前
    怎么联系
    iseki
        29
    iseki  
       47 天前 via Android
    主要是,大部分人也许宁可躺着也不愿意接这 500 块的活…
    yuzhiboprogram
        30
    yuzhiboprogram  
       47 天前
    500 。穷疯了的人,才接。真的。
    dengjunwen
        31
    dengjunwen  
    OP
       47 天前
    截贴,淘宝 500 找人用 python 写了。各位是工资太高,看不上 le
    dengjunwen
        32
    dengjunwen  
    OP
       47 天前
    @tool2dx 你是对的
    dengjunwen
        33
    dengjunwen  
    OP
       47 天前
    @Abbeyok 500
    dengjunwen
        34
    dengjunwen  
    OP
       47 天前
    @ruobingm 就是这么大,找到人了
    dengjunwen
        35
    dengjunwen  
    OP
       47 天前
    @shizhibuyu2023 你有毛病
    dengjunwen
        36
    dengjunwen  
    OP
       47 天前
    @shadowyue 要吗,刚刚找到了另一家
    dengjunwen
        37
    dengjunwen  
    OP
       47 天前
    @sarakeal 几个小时就能搞定,甚至有 ai 加持都不用。刚刚几分钟时间,把发票识别结果发给我了。 就剩下业务代码了
    dengjunwen
        38
    dengjunwen  
    OP
       47 天前
    @0xfb709394 爬虫不一样
    dengjunwen
        39
    dengjunwen  
    OP
       47 天前
    @Meteora626 不是扫描件
    dengjunwen
        40
    dengjunwen  
    OP
       47 天前
    @sarakeal 感觉不是调用的 ocr ,直接识别。 卖家几分钟的功夫,把识别结果发给我,所能做。
    dengjunwen
        41
    dengjunwen  
    OP
       47 天前
    @dbskcnc 挺好的,不过刚刚找到卖家做了。这里的大爷大多眼光比较高,看不上这点小钱,我就直接淘宝了,谢谢
    dengjunwen
        42
    dengjunwen  
    OP
       47 天前
    @tidaizhe 挺好的,谢谢经验分享
    dengjunwen
        43
    dengjunwen  
    OP
       47 天前
    @kbs10000 不好意思,刚刚找了卖家了,这里的大爷冷嘲热讽的比较多,都懒得看消息了,抱歉
    dengjunwen
        44
    dengjunwen  
    OP
       47 天前
    @ddddd0 谢谢
    dengjunwen
        45
    dengjunwen  
    OP
       47 天前
    @iseki 是的,我赞同你,所以找这种还是要去某宝
    JCNo1
        46
    JCNo1  
       47 天前
    淘宝中介收 30%,做的人到手只有 350 ,这个数大学生都可能看不上,看得上的又能做什么出来
    KINGWAY
        47
    KINGWAY  
       47 天前
    这里的人看到 OP 只花 500 就做到了想要的功能,破防了。。。
    iseki
        48
    iseki  
       47 天前 via Android
    @dengjunwen 毕竟心态不一样,去淘宝开店接单那是赚钱去的,考虑的只有划算不划算。来这水帖子的,就算嘴上说着想赚钱,心里想的都是天上掉大馅饼,小了还不想捡。
    z1829909
        49
    z1829909  
       47 天前
    提醒一句, 淘宝 30%的抽成, 接单的只能拿到 350. 接这种单子的除非你运气好, 遇到比较空闲有经验的. 不然交付的质量堪忧 + 你要维护的时候他不管你. 然后你得自己改代码或者花钱再找一个人.
    这个单子 500 确实少了, 你懂代码可以自己写写看, 即使不用 ocr, 算坐标找到对应的字段(处理各种异常场景)就挺麻烦的.
    z1829909
        50
    z1829909  
       47 天前
    好久没接单, 刚才去看了下, 经济形势不好, 已经抽成 40%了...
    Meteora626
        51
    Meteora626  
       47 天前
    @dengjunwen 你自己需求写的“对于扫描件 PDF ,集成 OCR 工具进行文字识别(如 Tess4J )。”。如果是非扫描件,正常的 PDF 文件,直接 python 库转文本正则提取就行了,500 当然有人做了
    msn00100
        52
    msn00100  
       47 天前 via Android
    现在有很多 ofd 格式了,而且总局提倡用 xml
    如果 xml 一统天下就很简单了,否则 ocr 识别率总是有问题的。
    shadowyue
        53
    shadowyue  
       47 天前
    哪家淘宝店,我收藏下
    mbooyn
        54
    mbooyn  
       47 天前
    求店铺名
    sarakeal
        55
    sarakeal  
       47 天前
    是不需要 AI 呀,用 python 是对的,python 用我说得那几个库直接提取 pdf 文本再匹配处理一下就行了。因为你的是原件这样处理最准确,这块要不了几行代码就能搞定,如果是扫描件的话只能用 ocr 了。他们把这个想复杂了,你这个不是通用的发票扫描需求,发票类型很固定而且只读取特定的部分文本,限制条件已经很多了,难度低了很多。
    seedhk
        56
    seedhk  
       47 天前
    淘宝 500 能给你大概率是因为他有现成的模板代码,稍微改改甚至都不用改就直接给给你了。他那套模板都不知道卖了多少套了,所以很便宜。重新开发的话,一天不一定能完成。
    dengjunwen
        57
    dengjunwen  
    OP
       47 天前
    @seedhk 完成了就好了
    dengjunwen
        58
    dengjunwen  
    OP
       47 天前
    @sarakeal 用 ai 更加快,代码都不用怎么写,不管你们有没有用,反正我用极大提高了效率
    dengjunwen
        59
    dengjunwen  
    OP
       47 天前
    @mbooyn 神机阁软件
    dengjunwen
        60
    dengjunwen  
    OP
       47 天前   ❤️ 1
    @shadowyue 神机阁软件, 等我试用几天,一切都好过现在
    GeekGao
        61
    GeekGao  
       46 天前
    500 元,只是很多全职码农朋友的半天(或大半天)薪水。 如果从 0 开干,时间划不来,自然就觉得你出价很低了。
    用不着破防啊。而且,软件工程 not 脚本,后续还有很多 Bug 修复、维护、咨询的售后工作,几百块钱一个思维正常且有些许责任心的码农自然没人干。
    vtgoal
        62
    vtgoal  
       46 天前
    你也没必要玻璃心,因为这里大部分是程序员思维,考虑到 pdf 文件的解析其实并不简单,认为你想花小钱办大事是很正常的。

    如果你处理的文件能保持固定格式,解决起来确实不难,但现实中今天说简单,明天需求就变的情况太多了,尤其你的需求里包括了 OCR 识别扫描件。你的问题解决了最好,没必要回来较真。
    jayin
        63
    jayin  
       46 天前
    这软件是自用,还是给公司用的?咋有这需求
    realpg
        64
    realpg  
       46 天前
    我想知道, 楼上一大堆什么淘宝提成 30%的这个信息是怎么家里编出来的...

    一大堆人自己在淘宝开店接各种杂七杂八活的 不走信用卡基本就是 0 损耗

    这年头的高收入群体脱离群众脱离现实真的这么严重吗

    小外包公司的经理都会利用自己家闲置码农开店揽活的 啥成本没有 除了需要点开店经验

    基本简单功能软件 500 这个行价都多少年了

    就这么简单个需求 又是 BUG 管理又是后续维护的

    这不是可以摸鱼的大厂 你交付时候有问题 不是你回去返工了就行的反正工资按月算的 你写出来的有问题 你压根就是 0 收入
    esee
        65
    esee  
       46 天前 via Android
    有的人想吃一道菜,以为成本要算上修建厨房安装燃气灶买锅买盘买菜学炒菜培训最后加人工的钱,但是其实叫外卖直接点一道也可以吃。这种需求明确的不用大改的,对于熟练的人真就是一会的事情,500 块钱也差不多,为啥反应这么大
    weiqipeng
        66
    weiqipeng  
       46 天前
    @tidaizhe 老哥你可真 6 羊毛大师了属于是
    forgottencoast
        67
    forgottencoast  
       46 天前
    @Livid
    #35 ,#24 ,#11
    不会好好说话。
    weiqipeng
        68
    weiqipeng  
       46 天前
    @neoblackcap 老哥 如果需要解析的 PDF 需要提取的字段都有统一的标识符或者标志 这样会不会容易些
    nikenidage1
        69
    nikenidage1  
       46 天前
    @realpg 你比楼上一大堆都不如,你以为淘宝上都是程序员自己开店吗?都是中介开店,你程序员开个 0 成交记录的新店能接到单?中介基本都是 30-40%的提成。
    500 这个价这个功能只能说只有大学生或者刚毕业的才会接啊,拿自己的时薪算一下就知道了
    dengjunwen
        70
    dengjunwen  
    OP
       46 天前
    @jayin 自己用
    dengjunwen
        71
    dengjunwen  
    OP
       46 天前
    @GeekGao 对呀,这是买卖,合适就干,不合适就不干呗,没必要破防呀。我能找到好用的为啥要花大价钱。这里只是其中一个途径而已
    dengjunwen
        72
    dengjunwen  
    OP
       46 天前
    @vtgoal 告诉大家一个结果,闭环,有人需要也可以借鉴经验,帮助大家节约成本不好吗?并没有你说的玻璃心吧
    dengjunwen
        73
    dengjunwen  
    OP
       46 天前
    @jayin 纯粹是犯懒,自己也能做,也能开发。但是不想折腾
    dengjunwen
        74
    dengjunwen  
    OP
       46 天前
    @realpg 这个信息我也不知道真假,只知道有抽成,反正他们能活,我们低价买服务就行了
    dengjunwen
        75
    dengjunwen  
    OP
       46 天前
    @esee 差不多就是这样。
    dengjunwen
        76
    dengjunwen  
    OP
       46 天前
    @forgottencoast 必定不好好说话,别人都这么说了,我可不能示弱
    dengjunwen
        77
    dengjunwen  
    OP
       46 天前
    @vtgoal 另外我回复的是那些说话很冲的大爷,阴阳我的大爷。不要对号入座
    zcybupt2016
        78
    zcybupt2016  
       46 天前
    我记得发票上的二维码里什么信息都有吧,应该只是做了个二维码识别?
    neoblackcap
        79
    neoblackcap  
       45 天前
    @weiqipeng 会容易一些。其实飞桨 OCR 的识别率很高了,文字识别出来应该不难,特别是 PDF 转的图片。关键是各个位置,毕竟光学识别又不会帮你把位置标记出来。
    如果发票都是电子发票,并且是 PDF 格式的话,调一下应该还是能做到相当高识别率。
    如果是用第三方 PDF 解决方案那就更好了,那就是 100%的准确率,关键是这个库的成本算谁的。
    如果发票还有机打的(照片),那就真的头疼了,不是那么好做了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:02 · PVG 16:02 · LAX 00:02 · JFK 03:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.