【问题标题】:pdfplumber memory hogging (crash with large pdf files)pdfplumber 内存占用(大型 pdf 文件崩溃)
【发布时间】:2021-12-22 01:38:48
【问题描述】:

使用 pdfplumber 从大型 pdf 文件中提取文本会导致崩溃。

with pdfplumber.open("data/my.pdf") as pdf:
    for page in pdf.pages:
        **do something**

【问题讨论】:

    标签: python garbage-collection pdfplumber


    【解决方案1】:

    在以下位置找到解决方案: https://github.com/jsvine/pdfplumber/issues/193 新:

    with pdfplumber.open("data/my.pdf") as pdf:
        for page in pdf.pages:
            run_my_code()
            page.flush_cache()
    

    旧:

    with pdfplumber.open("data/my.pdf") as pdf:
        for page in pdf.pages:
            run_my_code()
            del page._objects
            del page._layout
    

    这两个似乎是每个循环后最有责任占用内存的一个,删除它可以帮助不占用计算机内存。

    如果这不起作用,请尝试强制垃圾收集器清理它们。

    import gc
    with pdfplumber.open("data/my.pdf") as pdf:
        for page in pdf.pages:
            run_my_code()
            del page._objects
            del page._layout
            gc.collect()
    

    【讨论】:

      猜你喜欢
      • 2021-03-21
      • 1970-01-01
      • 2013-04-27
      • 2022-08-10
      • 2020-03-29
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      相关资源
      最近更新 更多