0

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

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

1 回答 1

0

在以下位置找到解决方案: 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-12-22T01:38:48.357 回答