自己写了个发票 pdf 合并小工具,有需要的可以看看 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
notrun
6.34D
V2EX    分享创造

自己写了个发票 pdf 合并小工具,有需要的可以看看

  •  
  •   notrun 2023-09-07 14:59:29 +08:00 3326 次点击
    这是一个创建于 772 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己最近出差此较多,而出差报销发票要打印很多,每次发票一堆,然后一个个打印比较花费时间,于是写了个发票 pdf 合并小工具,将所有发票合并成为一个 pdf ,这样就能直接打印了,非常方便,有需要的可以试试。

    自己是后端,前端才学的,页面比较丑大家见谅,服务器是个小水管人多可能就比较卡了,有其他需求可以反馈,我有时间可以迭代升级一下

    链接: http://tools.fengyingjun.com/

    ps:自家种的大荔冬枣熟了,有想吃的可以看看我历史帖子

    30 条回复    2024-09-10 09:24:37 +08:00
    notrun
        1
    notrun  
    OP
       2023-09-07 15:03:18 +08:00
    忘记说了,为了降低服务器压力,限制 10 分钟使用间隔
    wander639
        2
    wander639  
       2023-09-07 15:15:38 +08:00
    这不是 adobe 自带的功能吗
    notrun
        3
    notrun  
    OP
       2023-09-07 15:23:38 +08:00
    @wander639 啊花了几个晚上白写了,请问 adobe 哪个软件有?
    Yvan007
        4
    Yvan007  
       2023-09-07 15:29:33 +08:00
    没太大必要吧,用 ChatGpt 4 的话,就可以合并啊。(如果是 Plus 用户,有相关功能)
    notrun
        5
    notrun  
    OP
       2023-09-07 15:31:55 +08:00
    @Yvan007 你也说了得 ChatGpt 4 ,这门槛已经拦下了百分之 90 的人了
    Rache1
        6
    Rache1  
       2023-09-07 15:35:55 +08:00
    恰巧前段时间也有类似的需求,虽然一般的 PDF 工具都有类似的功能,但是国内能叫上名字的 PDF 大多都来自一些个人不太喜欢的厂商比如:2345 、WPS 、万兴。

    版来想试试 Adobe Acrobat Reader 来着,但是不知道为何之前安装的老是激活失效,而且还比较重,就没想安装了。

    本着能省则省的原则,搜了一下,最后找到了 PDFtk 这个命令行工具,又找到了个 GUI 版本的。

    好在这个的基础功能(合并 PDF ) 是免费的,然后就用了一下,还不错。但是这个 GUI 其实也很落后了,预览效果啥的都没有 ,属于勉强够用,后面支持了一下作者,买了个 Pro 。

    PDFtk - The PDF Toolkit
    https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
    ksmagi
        7
    ksmagi  
       2023-09-07 15:40:15 +08:00   2
    imagemagick 一个命令就可以的。
    convert -density 300 src/* dst.pdf
    notrun
        9
    notrun  
    OP
       2023-09-07 15:42:57 +08:00
    @Rache1 看来不小心重复造轮子了,软件确实看着挺老了,付费支持作者,为你点赞
    Muniesa
        10
    Muniesa  
       2023-09-07 15:45:02 +08:00 via Android
    之前在站内也看到过一个网页版的,感觉这种合并处理在前端做是不是好些啊
    itianjing
        11
    itianjing  
       2023-09-07 15:48:24 +08:00   2
    PbCopy111
        12
    PbCopy111  
       2023-09-07 15:48:35 +08:00
    真不错!!!只不过 WPS 内置了这个功能。。。。发票管理,不但合并,还能统计费用,方便记账。
    Yamaha
        13
    Yamaha  
       2023-09-07 16:30:31 +08:00
    之前好像站内也有一个 DX 帮女朋友写的发票合并工具。
    notrun
        14
    notrun  
    OP
       2023-09-07 16:53:50 +08:00
    @Yamaha 我试过他那个,只能合并一页,超过就卡死,所以自己写了一个
    hertzry
        15
    hertzry  
       2023-09-07 17:08:25 +08:00
    我用 PDFBinder ,但是不知道最初来源是哪里。
    ReZer0
        16
    ReZer0  
       2023-09-07 17:11:31 +08:00
    给 OP 点个赞+收藏,虽然貌似重复轮子,不过好在免费,以后可能有机会用到。
    Stoney
        17
    Stoney  
       2023-09-07 17:17:25 +08:00 via iPhone
    只是简单的合并成一个 PDF 吗?我感觉电子发票两个放到一张 a4 纸就好了
    iridium945
        18
    iridium945  
       2023-09-07 17:30:53 +08:00
    要是在一年前我还真用得上…

    虽然现在用不到了,但还是点个赞…
    elboble
        19
    elboble  
       2023-09-07 20:10:15 +08:00
    mac 的预览,直接拖进去就是一个文件了,还支持 jpg 拖进去
    vislins
        20
    vislins  
       2023-09-07 21:01:46 +08:00
    @notrun acrobat 合并 pdf
    Feucai
        21
    Feucai  
       2023-09-07 22:40:29 +08:00
    wps 就可以呀,还可以生成报销单,QQ 邮箱也可以生成报销单
    teem
        22
    teem  
       2023-09-08 09:21:32 +08:00
    Mac:全选发票,右键,快速操作,创建 pdf
    PrinceofInj
        23
    PrinceofInj  
       2023-09-08 09:24:45 +08:00
    这个不是全选发票,右键,打印,就会全部打印么?难道有什么特别的用法?
    JimmyTinsley
        24
    JimmyTinsley  
       2023-09-08 09:46:50 +08:00
    import os
    from pdfrw import PdfReader, PdfWriter


    def merge_pdfs_in_folder(folder_path, output_file):
    pdf_writer = PdfWriter()

    for filename in os.listdir(folder_path):
    if filename.endswith('.pdf'):
    pdf_path = os.path.join(folder_path, filename)
    pdf_reader = PdfReader(pdf_path)
    pdf_writer.addpages(pdf_reader.pages)

    pdf_writer.write(output_file)


    # 使用方法:将 folder_path 替换为你的 pdf 文件夹路径,output_file 替换为你希望的输出文件名
    if __name__ == "__main__":
    folder_path = 'path_to_folder'
    output_file = folder_path + '/merged.pdf'
    merge_pdfs_in_folder(folder_path, output_file)



    GPT3.5 帮忙写的一段 python 脚本
    PaulSamuelson
        26
    PaulSamuelson  
       2023-09-08 12:01:25 +08:00
    老哥,你要想啥功能,可以先在微信小程序上搜一搜,
    xiaozi
        27
    xiaozi  
       2023-09-08 14:35:10 +08:00
    MSIAM
        28
    MSIAM  
       2023-09-08 17:49:50 +08:00
    @notrun Acrobat DC
    JWys99
        29
    JWys99  
       2024-05-10 01:34:00 +08:00
    你们单位的纸都很多吗评论区提及的工具都没法控制大小吧?楼主这个我试了下合并没反应。

    来看看我的,把三张票合并到一张 a4 上面,正好和报销单大小一样,左边留白

    https://fapiao.yshain.net/

    (要是炸了等一会再开,内部用的,还没解决崩溃问题)
    notrun
        30
    notrun  
    OP
       2024-09-10 09:24:37 +08:00
    @JWys99 你这人人品不行,你宣传自己的东西没问题,没必要嘲讽还捧一踩一,你这人肯定生活没朋友,单位同事关系也不好
    ps:找工具的老哥看到这里,不要用这个人的,上面很多 v 友分享了其他免费
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1671 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION:3.9.8.5 27ms UTC 16:17 PVG 00:17 LAX 09:17 JFK 12:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86