使用 PyPDF2 批量旋转 PDF 文件

2024-03-14

我一直在编写用于批量旋转文件夹内的 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()

您必须为 PdfFileWriter 提供一个指向新位置的文件指针。 另外,您不需要创建列表并迭代列表,只需迭代os.listdir结果。 最后你有了未使用的变量,比如loc。 我清理了一下你的代码。

因此,假设您创建输出文件夹,这应该可行:

from os import listdir
from PyPDF2 import PdfReader, PdfWriter

input_dir  = "C:\\z_PruebPy\\pdf\\"
output_dir = "C:\\z_PruebPy\\output_pdf\\"

for fname in listdir(input_dir):
    if not fname.endswith(".pdf"):  # ignore non-pdf files
        continue
    reader = PdfReader(input_dir + fname)
    writer = PdfWriter()
    for page in reader.pages:
        # page.rotate_clockwise(270) # (before pypdf3.0 - deprecated - thanks to Maciejg for the update)
        page.rotate(270)
        writer.add_page(page)
    with open(output_dir + fname, "wb") as pdf_out:
        writer.write(pdf_out)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PyPDF2 批量旋转 PDF 文件 的相关文章

  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • Python - 来自 .进口

    我第一次尝试图书馆 我注意到解决图书馆内导入问题的最简单方法是使用如下结构 from import x from some module import y 我觉得这件事有些 糟糕 也许只是因为我不记得经常看到它 尽管公平地说我还没有深入研究
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • 在 matplotlib 中的极坐标图上移动径向刻度标签

    From matplotlib 示例 http matplotlib org examples pylab examples polar demo html import numpy as np import seaborn as sbs
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • Geodjango距离查询未检索到正确的结果

    我正在尝试根据地理位置的接近程度来检索一些帖子 正如您在代码中看到的 我正在使用 GeoDjango 并且代码在视图中执行 问题是距离过滤器似乎被完全忽略了 当我检查查询集上的距离时 我得到了预期距离 1m 和 18km 但 18km 的帖
  • SMTP_SSL SSLError: [SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:590)

    此问题与 smtplib 的 SMTP SSL 连接有关 当与 SMTP 无 ssl 连接时 它正在工作 在 SMTP SSL 中尝试相同的主机和端口时 出现错误 该错误仅基于主机 gmail 设置也工作正常 请检查下面的示例 如果 Out
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 返回表示每组内最大值的索引的一系列数字位置

    考虑一下这个系列 np random seed 3 1415 s pd Series np random rand 100 pd MultiIndex from product list ABDCE list abcde One Two T
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 双击打开 ipython 笔记本

    相关文章 通过双击 osx 打开 ipython 笔记本 https stackoverflow com questions 16158893 open an ipython notebook via double click on osx
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk

随机推荐

  • 为什么 C# 构造函数行为与 Java 不同,反之亦然?

    给定这个 Java 代码 输出0 and 4 class A A print void print System out println A class B extends A int i Math round 3 5f public st
  • 为什么只有一个核心承担全部负载,如何让其他29个核心承担负载?

    我正在尝试将 Spark 处理的数据推送到 C 的 3 节点集群 我正在向 Cassandra 推送 2 亿条记录 但它失败了 错误如下 下面是我的 Spark 集群配置 Nodes 12 vCores Total 112 Total me
  • 如何使用 CSS 或 JS 使图像变暗而不影响透明度?

    到处建议的调暗图像的正常方法是更改 其不透明度属性并在其下方显示黑色的东西 但是 我的图像具有透明度并且位于白色背景上 所以我想将背景保持在图像白色的透明部分下 只使有颜色的像素变暗 这可以在 CSS 最好 或 JS 中完成吗 编辑 示例图
  • 在单元测试期间我应该模拟哪些功能

    我一直在阅读 Stack Overflow 上的一些文章和帖子 了解何时应该模拟函数 何时不应该模拟函数 但我遇到了一个情况 我不确定该怎么做 我有一个 UserService 类 它使用依赖项注入概念通过其构造函数接收依赖项 class
  • 我应该使用 ScriptSharp

    我正在开发我的第一个 ASP NET MVC 应用程序 我相信 Script 可以帮助我很多 但它找不到支持我发展所需的资源 我找不到 Codeplex 网站 只有一本手册 很好 但还不够 我能找到的教程很少 我知道 Script 用于开发
  • 移动设备上的自动对焦文本字段,但没有键盘?

    作为我的登录和注册表单的一部分 如果出现错误 它将自动聚焦相关字段 其实 事情并不像我想象的那么简单 让我尝试解释一下 基本上 在这个项目中 页面是通过 AJAX 加载的 表格可能包括autofocus属性 这很好用 但在移动设备上它只显示
  • 禁止直接访问图像

    我正在制作一个小家庭相册 打算稍后向其他人开放以存储图像 我将图像上传到 images 然后调整它们大小 3 次 普通视图 缩略图和小版本 并将它们移动到 images thumbs images normal images tiny 然后
  • mysql 加载数据内文件更新

    我目前正在使用 mySQL LOAD DATA INFILE 将 csv 文件插入到我的数据库中 该 csv 文件每天都会下载到服务器 以保持产品数据最新 我想知道的是如何使用新的 csv 更新表并保留没有不同的现有数据 这是我目前的声明
  • scala 中的插入排序实现

    我正在尝试 Scala 我想看看如何在 scala 中实现插入排序 并满足以下要求 嵌套 for 循环 输入数组 Int 如果可能的话 通过引用方式修改函数内容的方法 否则返回 Array Int 如果这不是实现插入排序的 Scala 方法
  • 抓取时如何避免连接节点中的所有文本

    当我从 HTML 或 XML 中抓取多个相关节点来提取文本时 所有文本都会连接成一个长字符串 从而无法恢复单个文本字符串 例如 require nokogiri doc Nokogiri HTML lt
  • sed 仅替换完全匹配

    我不想替换像这样的字符串Europe12 with Europe12 yesturday在一个文件中 不改变Europe12 36文件中也存在的字符串 I tried basename Europe12 sed i s b basename
  • 为什么Matlab中复数共轭转置是默认的

    如果矩阵有复数元素并且我想使用命令将 A 转置为 A gt gt A 为什么设计是这样的a bi转变为a bi 它有什么用 From here http mathworld wolfram com ConjugateTranspose ht
  • 站点根相对路径不起作用

    我不明白这一点 它搞砸了整个网站 因为我使用的是 php 模板 根据我读过的每一篇文章 据说以 开头的链接会让我从根开始 但是 当我以 开头时 它根本不起作用 我的变量位于 public html cis130 textfiles php
  • 将 fgetcsv 响应转换为特定的 json

    我有一个带有标题的 CSV 文件 Description BusinessSurname IsCustomer IsSupplier AddressType Business Address IsInternational 第一排 Cont
  • JSTL、Bean 和方法调用

    我正在开发一个 JSP 我需要调用来自 Bean 的对象的方法 以前版本的页面没有使用JSTL 并且可以正常工作 我的新版本有这样的设置
  • 在 .NET 中加载第一个 sql 连接需要很长时间

    由于某种原因 第一次打开与 SQL Server 数据库的连接需要 7 秒 后续连接需要一秒 知道原因是什么吗 我正在使用 C 和 asp net 编译后 我每次重新启动站点时都会本质上 这意味着每次它需要实际创建 第一个 连接 我知道设置
  • 从数组中仅删除一个重复项

    我试图只从数组中删除 2 之一 但我的代码删除了所有这些 我的代码如下 var arr 2 7 9 5 2 arr filter item gt item 2 and var arr 2 7 9 2 2 5 2 arr filter ite
  • 让我的 jProgressBar 在 1 到 100 的计时器上运行

    我正在浏览这个线程 如何让定时器倒计时并带有进度条 https stackoverflow com questions 5931933 how to make timer countdown along with progress bar
  • 使用 pyinstaller 和 pysqlcipher 创建一个文件 exe 时出现问题

    我正在尝试创建一个文件 exe 以在任何 Windows 计算机上运行 但我遇到了 pysqlcipher 问题 我已经回到了一些基本代码 仅使用密钥创建一个简单的数据库 在我的开发机器上 无论我使用 python 文件还是编译的 exe
  • 使用 PyPDF2 批量旋转 PDF 文件

    我一直在编写用于批量旋转文件夹内的 PDF 文件的代码 但我找不到迭代和更改旋转文件的目标文件夹的方法 我的目的是将新文件以相同的名称保存在另一个文件夹中 from os import listdir from PyPDF2 import