我有多个使用 Access DB 表单创建的 PDF 文件。我可以从中提取文本的唯一方法是使用 pdfplumber。这是我的代码,它仅适用于 1 个文件。
import pdfplumber
with pdfplumber.open('CS_page_1.pdf') as pdf:
page = pdf.pages[0]
string = page.extract_text()
file_name = string[43:48]
print(file_name)
我需要使用提取的字符串来重命名该文件以及文件夹中的其他 100 个文件。 最好的方法是什么?
首先使用 glob 构建文件夹中所有 pdf 的列表 (https://docs.python.org/3/library/glob.html)。
然后迭代它们中的每一个 - pdfplumb 它们以获得所需的字符串(您要将文件重命名为) - 然后单独重命名每个(https://www.tutorialspoint.com/python/os_rename.htm) 。像这样的东西:
import glob
import pdfplumber
import os
arr_of_files = (glob.glob("/path/to/pdfs/*.pdf"))
for file in arr_of_files:
with pdfplumber.open(file) as pdf:
page = pdf.pages[0]
string = page.extract_text()
file_name = string[43:48]
os.rename(file, file_name)
import pdfplumber
import glob
from tqdm.auto import tqdm
for current_pdf_file in tqdm(glob.glob("<pathname>\.pdf")):
with pdfplumber.open(current_pdf_file) as my_pdf:
# do other things here?
您可以使用 glob 或 os 创建一个包含所有 PDF 的目录,并将其添加为路径。您甚至可以创建一个额外的文件夹,将 PDF 传输到完全不同的文件夹中。
例如: 1.文件夹A 2.文件夹B
import pdfplumber
import os
pdf_path1 = r" Directory path to Folder A"
pdf_path2 = r" Directory path to Folder B"
""""Entire code block here""""
这不仅允许您一次打开一个包含多个 PDF 的目录,还可以将它们移动到不同的文件夹中。 我希望这有帮助!!