在Python中合并具有数字签名的PDF

问题描述 投票:0回答:1

我打算合并 1500-1600 个 PDF。感谢下面的链接,我得到了在 python 中合并 PDF 的代码。

合并PDF文件

但是,它会生成一个空文件,可能是因为我正在合并的 PDF 中有数字签名。

有人可以建议一种方法来组合这些具有数字签名的文件吗?我不介意在输出文件中丢失数字签名。 (也可以,如果有办法把源文件中的数字签名去掉然后再合并)

代码:

import os
from PyPDF2 import PdfFileMerger

os.chdir("C:\\test")

x = [a for a in os.listdir() if a.endswith(".pdf")]

merger = PdfFileMerger()

for pdf in x:
    pdfobject = open(pdf, 'rb')
    merger.append(pdfobject)
    pdfobject.close()
    
merger.write("result.pdf")
merger.close()
python pdf digital-signature pypdf
1个回答
0
投票

此代码使用 pypdf,适用于使用签名和未签名 PDF 文件的我:

import os
from pypdf import PdfReader, PdfWriter

files = [fn for fn in os.listdir() if fn.endswith(".pdf")]

writer = PdfWriter()

for pdf in files:
    with open(pdf, 'rb') as f:
        reader = PdfReader(f)
        writer.append(reader)

writer.write("result.pdf")
© www.soinside.com 2019 - 2024. All rights reserved.