当前位置: 首页 > 知识库问答 >
问题:

Python OSError[ErrNo22]PyPDF2脚本

萧煜
2023-03-14

我正在制作一个脚本,该脚本对文件夹中的所有pdf进行水印。它的工作,但然后我调整它,使水印pdf移动到目标文件夹,突然之间,我不能让它工作了...

错误:

html" target="_blank">回溯(最近一次调用last):文件“pdf_watermarker_v2.py”,第25行,在source_read=PyPDF2中。PdfileReader(source\u open)文件“C:\Users\niels\AppData\Local\Programs\Python38-32\lib\site packages\PyPDF2\pdf.py”,第1084行,在uuu init\uuuu self中。读取(流)文件“C:\Users\niels\AppData\Local\Programs\Python\Python38-32\lib\site packages\PyPDF2\pdf.py”,第1689行,在读取流中。seek(-1,2)操作错误:[Errno 22]参数无效

代码:

import PyPDF2
import os
import sys


#This wil watermark all files in the folder with a watermarker
watermark = sys.argv[1]
destination = sys.argv[2]
source = os.listdir()

#def watermark_all(watermark,source,destination):

if not os.path.exists(destination):
    os.mkdir(destination)


with open(watermark,'rb') as watermark_open:
    watermark_read = PyPDF2.PdfFileReader(watermark_open)

watermark_pdf = watermark_read.getPage(0)

for i in source:
    if i.endswith('.pdf'):
        with open(i,'rb') as source_open:
            source_read = PyPDF2.PdfFileReader(source_open)

            source_num = source_read.getNumPages()

            source_real = int(source_num) -1

            source_pdf = source_read.getPage(source_real)

            source_pdf.mergePage(watermark_pdf)

            writer = PyPDF2.PdfFileWriter()
            writer.addPage(source_pdf)
            with open(i,'wb') as merger_file:
                writer.write(merger_file)

共有1个答案

臧令
2023-03-14

好的,我找到了答案。出于某种原因,如果我再次尝试为这些文件添加水印,就会出现此错误。即使所有文件仍在文件夹中,并且合并仍可以按文件进行,但由于某些原因,在再次运行脚本时,它不会再次与相同的文件合并。我必须用未处理的文件替换这些文件,然后才能再次运行脚本。

 类似资料:
  • PyPDF2 是一个纯 Python PDF 库,能够分割、合并、裁剪和转换 PDF 文件页面。它还可以添加自定义数据、查看选项和密码到 PDF 文件。 PyPDF2 可以从 PDF 中检索文本和元数据,也可以将整个文件合并在一起。 from PyPDF2 import PdfFileWriter, PdfFileReaderoutput = PdfFileWriter()input1 = Pdf

  • 我正在读这个pdf文件(https://www.accessdata.fda.gov/cdrh_docs/pdf14/K141693.pdf)我遵循着SO的这些建议 使用pyPdf打开pdf URL 我实际上已经在本地下载了该文件,并且正在运行以下代码 但是我的代码无限期地挂着。我正在运行Python 2.7,这里是stackTrace。 文件“”,第1行,在runfile('C:/PoC/pdf

  • 我看了一个视频,学习如何将PDF文件合并成一个PDF文件。我试图修改一点代码,以便处理一个文件夹,其中有PDF文件主文件夹(Spyder)有,这是代码 我有一个名为的子文件夹进入主文件夹,在这个子文件夹中,我把PDF文件和子文件夹内的我创建了一个名为的文件夹。我得到了错误文件没有找到1.pdf虽然当打印的内循环,我得到了PDF名称。 错误的追溯

  • 我正在尝试从PDF中提取文本(https://www.sec.gov/litigation/admin/2015/34-76574.pdf)使用PyPDF2,我得到的唯一结果是以下字符串: 这是我的代码: 这段代码在我正在使用的一些PDF上正常工作(例如。https://www.sec.gov/litigation/admin/2016/34-76837-proposed-amended-dist

  • 我使用pyPDF2库,与此脚本: 从PyPDF2导入操作系统导入PdfFileReader、PdfFileWriter pdf_splitter: fname=os.path.splitext(os.path.basename(path))[0] 如果名称='main':路径='w9。pdf'pdf_拆分器(路径) 这只是一个示例,它读取包含多个页面的原始PDF,并将其拆分为单独的文件。它在拆分的

  • 导入PyPDF2时出错(没有名为的模块)。我尝试安装Python版本。2、也不工作。我想这个问题可能和安装模块的路径有关,但我无法更改它。。。或者使用Python版本,因为文档中提到了3.2-3.5版 https://pythonhosted.org/PyPDF2/AboutPyPDF2。html 指令 C:\Users\Xiaomi C:\Users\Xiaomi 导入PyPDF2 Module