You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从pdfplumber.pdf.PDF实例中获取PDF文件名?

从pdfplumber.pdf.PDF实例中获取文件名的方法

pdfplumber的PDF类实例本身不会自动存储文件名,你可以通过以下两种方式解决这个需求:

  • 手动绑定文件名(推荐):在打开PDF文件时,把文件名作为自定义属性附加到PDF实例上,之后在函数中直接读取该属性:

    import pdfplumber
    
    def your_process_function(pdf):
        print(pdf.filename)  # 输出绑定的文件名
    
    # 打开文件时绑定文件名
    with pdfplumber.open("target.pdf") as pdf:
        pdf.filename = "target.pdf"
        your_process_function(pdf)
    
  • 从stream属性获取(有局限性):如果PDF是从本地文件打开的,实例的stream属性对应的文件对象可能包含name属性,可以尝试读取:

    def your_process_function(pdf):
        try:
            filename = pdf.stream.name
            print(filename)
        except AttributeError:
            # 若PDF来自字节流等非本地文件场景,会触发此异常
            print("无法获取文件名:该PDF并非从本地文件打开")
    

注意:第二种方法仅适用于从本地文件创建的PDF实例,如果是从字节流、内存对象等方式生成的PDF,stream不会有name属性,此时必须用第一种手动绑定的方式。

内容的提问来源于stack exchange,提问作者Keegan Skeate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:54:26