使用 Python 的 PDF 前三页提取器
PDF First Three Pages Extractor using Python
所以我尝试编写代码,当我将 pdf 文件的地址插入到下面的代码中时,它仅提取 pdf 的前 3 页并将其另存为(nameofthepdf_subset.pdf)。
但现在我想让文件夹中的每个 Pdf 都发生这种情况,我该如何实现?
这是我从 YouTube 频道获得的代码:
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_file_path = r"C:\Users885\OneDrive\Desktop\Python 3 Pages\IELTS.pdf"
file_base_name = pdf_file_path.replace('.pdf', '')
pdf = PdfFileReader(pdf_file_path)
pages = [0, 1, 2] # page 1,2,3
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open('{0}_subset.pdf'.format(file_base_name), 'wb') as f:
pdfWriter.write(f)
f.close()
此代码工作正常,但仅适用于单个 pdf,如何在其中插入我的文件夹地址。
这是将给定文件夹中所有 pdf 的前 3 页保存在不同 pdf 中的代码
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
for file in os.listdir("path_to_foler"):
file_base_name = file
pdf = PdfFileReader(f'path_to_foler/{file}')
pages = [0, 1, 2] # page 1,2,3
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open(f'{file_base_name}_subset.pdf', 'wb') as f:
pdfWriter.write(f)
一个提示,当您with open("file","mode") as file:
不需要关闭文件时,with 语句会在内部代码完成后自动关闭数据流
所以我尝试编写代码,当我将 pdf 文件的地址插入到下面的代码中时,它仅提取 pdf 的前 3 页并将其另存为(nameofthepdf_subset.pdf)。 但现在我想让文件夹中的每个 Pdf 都发生这种情况,我该如何实现?
这是我从 YouTube 频道获得的代码:
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_file_path = r"C:\Users885\OneDrive\Desktop\Python 3 Pages\IELTS.pdf"
file_base_name = pdf_file_path.replace('.pdf', '')
pdf = PdfFileReader(pdf_file_path)
pages = [0, 1, 2] # page 1,2,3
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open('{0}_subset.pdf'.format(file_base_name), 'wb') as f:
pdfWriter.write(f)
f.close()
此代码工作正常,但仅适用于单个 pdf,如何在其中插入我的文件夹地址。
这是将给定文件夹中所有 pdf 的前 3 页保存在不同 pdf 中的代码
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
for file in os.listdir("path_to_foler"):
file_base_name = file
pdf = PdfFileReader(f'path_to_foler/{file}')
pages = [0, 1, 2] # page 1,2,3
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open(f'{file_base_name}_subset.pdf', 'wb') as f:
pdfWriter.write(f)
一个提示,当您with open("file","mode") as file:
不需要关闭文件时,with 语句会在内部代码完成后自动关闭数据流