使用pdfplumber从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
使用pdfplumber从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
在以下位置找到解决方案: 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()