我一直在编写一段代码,用于批量旋转文件夹中的PDF文件,但我找不到一种方法来迭代和更改旋转文件的目标文件夹。
我打算将新文件以相同的名称保存在另一个文件夹中。
from os import listdir
from PyPDF2 import PdfReader, PdfWriter
# Collect files
root = "C:\z_PruebPy\pdf"
archs = []
for x in listdir(root):
archs.append(root + x)
# Batch rotate
for arch in archs:
pdf_in = open(arch, "rb")
reader = PdfReader(pdf_in)
writer = PdfWriter()
for page in reader.pages:
page.rotate_clockwise(270)
writer.add_page(page)
with open(arch, "wb") as pdf_out: # ????????
writer.write(pdf_out)
pdf_in.close()
1条答案
按热度按时间kgqe7b3p1#
你必须给予PdfFileWriter一个指向新位置的文件指针。而且你不需要创建一个列表并在列表上迭代,只需要在
os.listdir
结果上迭代。最后你有了一些不用的变量,比如loc
。我稍微清理了一下你的代码。假设您创建了输出文件夹,那么这应该可以工作: