V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
notrun
V2EX  ›  分享创造

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

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

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

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

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

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

    28 条回复    2023-09-08 17:49:50 +08:00
    notrun
        1
    notrun  
    OP
       173 天前
    忘记说了,为了降低服务器压力,限制 10 分钟使用间隔
    wander639
        2
    wander639  
       173 天前
    这不是 adobe 自带的功能吗
    notrun
        3
    notrun  
    OP
       173 天前
    @wander639 啊花了几个晚上白写了,请问 adobe 哪个软件有?
    Yvan007
        4
    Yvan007  
       173 天前
    没太大必要吧,用 ChatGpt 4 的话,就可以合并啊。(如果是 Plus 用户,有相关功能)
    notrun
        5
    notrun  
    OP
       173 天前
    @Yvan007 你也说了得 ChatGpt 4 ,这门槛已经拦下了百分之 90 的人了
    Rache1
        6
    Rache1  
       173 天前
    恰巧前段时间也有类似的需求,虽然一般的 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  
       173 天前   ❤️ 2
    imagemagick 一个命令就可以的。
    convert -density 300 src/* dst.pdf
    notrun
        9
    notrun  
    OP
       173 天前
    @Rache1 看来不小心重复造轮子了,软件确实看着挺老了,付费支持作者,为你点赞
    Muniesa
        10
    Muniesa  
       173 天前 via Android
    之前在站内也看到过一个网页版的,感觉这种合并处理在前端做是不是好些啊
    itianjing
        11
    itianjing  
       173 天前   ❤️ 2
    PbCopy111
        12
    PbCopy111  
       173 天前
    真不错!!!只不过 WPS 内置了这个功能。。。。发票管理,不但合并,还能统计费用,方便记账。
    Yamaha
        13
    Yamaha  
       173 天前
    之前好像站内也有一个 DX 帮女朋友写的发票合并工具。
    notrun
        14
    notrun  
    OP
       173 天前
    @Yamaha 我试过他那个,只能合并一页,超过就卡死,所以自己写了一个
    hertzry
        15
    hertzry  
       173 天前
    我用 PDFBinder ,但是不知道最初来源是哪里。
    ReZer0
        16
    ReZer0  
       173 天前
    给 OP 点个赞+收藏,虽然貌似重复轮子,不过好在免费,以后可能有机会用到。
    Stoney
        17
    Stoney  
       173 天前 via iPhone
    只是简单的合并成一个 PDF 吗?我感觉电子发票两个放到一张 a4 纸就好了
    iridium945
        18
    iridium945  
       173 天前
    要是在一年前我还真用得上…

    虽然现在用不到了,但还是点个赞…
    elboble
        19
    elboble  
       173 天前
    mac 的预览,直接拖进去就是一个文件了,还支持 jpg 拖进去
    vislins
        20
    vislins  
       173 天前
    @notrun acrobat 合并 pdf
    Feucai
        21
    Feucai  
       173 天前
    wps 就可以呀,还可以生成报销单,QQ 邮箱也可以生成报销单
    teem
        22
    teem  
       172 天前
    Mac:全选发票,右键,快速操作,创建 pdf
    PrinceofInj
        23
    PrinceofInj  
       172 天前
    这个不是全选发票,右键,打印,就会全部打印么?难道有什么特别的用法?
    JimmyTinsley
        24
    JimmyTinsley  
       172 天前
    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 脚本
    duanquanwu
        26
    duanquanwu  
       172 天前
    老哥,你要想啥功能,可以先在微信小程序上搜一搜,🤣
    xiaozi
        27
    xiaozi  
       172 天前
    MSIAM
        28
    MSIAM  
       172 天前
    @notrun Acrobat DC
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1020 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.