Python PyPDF2 'PdfFileReader' object 没有属性 'scaleTo' 错误

Python PyPDF2 'PdfFileReader' object has no attribute 'scaleTo' error

这是我的第一个程序,所以我想有很多低效率的地方。首先,我创建了一个适用于组合 PDF 的 GUI。在尝试将工作代码转换为遍历多个单页 PDF 目录的代码时,出现错误。在“PageObj.scaleTo(1172, 1772)”行,我在问题标题中得到了错误。 GUI 将用户输入用于变量“x”(目录)、“a”(纸张大小)和“s”(状态)。它是将页面调整到选定的大小,与模板合并(不是追加而是单页“PDF 三明治”我听说过它的描述),然后覆盖现有文件。指定目录中的每个 PDF 都会发生这种情况。我已经尝试了多个版本来定义我的 PageObj 变量,但似乎无法正确定义。

# Variables for User input values
x = values["-pdf_dir-"]
a = values["-paper_size-"]
s = values["-state-"]

# Location to find seal templates
state = f"G:/Drafting/Kain Mincey/Allen's seals/Correctly Sized/{a}/{s}.pdf"

Seal_pdf = PdfFileReader(open(state, "rb"), strict=False)
input_pdf = glob.glob(os.path.join(x, '*.pdf'))
output_pdf = PdfFileWriter()
page_count = len(fnmatch.filter(os.listdir(x), '*.pdf'))
i = 0

if a == "11x17":
    for file in input_pdf:
        sg.OneLineProgressMeter('My Meter', i, page_count, 'And now we Wait.....')
        PageObj = PyPDF2.PdfFileReader(open(file, "rb"))
        PageObj.scaleTo(11*72, 17*72)
        PageObj.mergePage(Seal_pdf.getPage(0))
        output_pdf.addPage(PageObj)
        output_filename = f"{x[:-4]}"
        i = i + 1

PdfFileReader returns 整个文件。 scaleTo 适用于页面。您必须使用 getPage 获取您想要的页面。 –蒂姆·罗伯茨 3 月 28 日在 21:02