繁体   English   中英

尝试将多个文件夹中的 PDF 合并为每个文件夹的一个 PDF

[英]Trying to combine PDFs from multiple folders into one PDF for each folder

我对 Python/编程非常陌生,并且正在尝试自动化一项非常耗时的办公任务。

我有多个带有 PDF 的文件夹。 对于每个文件夹,我需要将 PDF 合并为一个 PDF,并将其保存在其内容为总和的文件夹中。 我已经合并了一个文件夹的内容,并使用以下命令成功保存到我的桌面:

import PyPDF2
import os
Path = '/Users/jlaw/Desktop/Testing/FolderName/'
filelist = os.listdir(Path)
pdfMerger = PyPDF2.PdfFileMerger(strict=False)
for file in filelist:
    if file.endswith('.pdf'):
        pdfMerger.append(Path+file)
pdfOutput = open('Tab C.pdf', 'wb')
pdfMerger.write(pdfOutput)
pdfOutput.close()`

使用下面的代码,我正在尝试执行上述操作,但针对特定目录中的所有文件夹。 当我运行它时,我得到“Tab C.pdf”文件正确显示,但我无法打开它们。

import PyPDF2
import os
Path = '/Users/jlaw/Desktop/Testing/'
folders = os.listdir(Path)
def pdf_merge(filelist, foldername):
    pdfMerger = PyPDF2.PdfFileMerger()
    for file in filelist:
        if file.endswith('.pdf'):
            pdfMerger.append(Path+foldername+"/"+file)
        pdfOutput = open(Path+foldername+'/Tab C.pdf', 'wb')
        pdfMerger.write(pdfOutput)
        pdfOutput.close()
for folder in folders:
    pdf_merge(Path+'/'+folder, folder)`

我正在使用 Python 版本:3.8

Tab C.pdf 文件只有 1kb。 当我尝试使用 Adob​​e Acrobat 打开时,弹出窗口说:“打开此文档时出错。无法打开此文件,因为它没有页面。如果我尝试使用 Chrome,它会打开,但它只是一个空的 PDF,使用 Edge(基于 Chromium)时,它会说,“我们无法打开这个文件。出了点问题”

非常感谢任何建议或提示。

下面的作品。 我还没有足够的经验来知道为什么这是有效的,而上面的却没有。

import PyPDF2
import os
Path = 'C:/Users/jlaw/Desktop/Testing/'
folders = os.listdir(Path)
pdfMerger = PyPDF2.PdfFileMerger()
def pdf_merge(filelist): #Changed to just one argument
    pdfMerger = PyPDF2.PdfFileMerger()
    for file in os.listdir(filelist): #added os.listdir()
            if file.endswith('.pdf'):
                pdfMerger.append(filelist+'/'+file) #replaced Path+foldername with filelist
    pdfOutput = open(Path+folder+'/Tab C.pdf', 'wb') #Moved back one tab to prevent infinite loop
    pdfMerger.write(pdfOutput) #Moved back one tab to prevent infinite loop
    pdfOutput.close() #Moved back one tab to prevent infinite loop
for folder in folders:
    pdf_merge(Path+folder)` #Removed redundant + "/"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM