如何通过Python代码旋转PDF页面

前言

日常处理 PDF 文档时,我们时常会遇到页面颠倒、很难正常阅读或打印的情况。 在这种情况下,我们可以通过旋转页面来调整文档的方向。旋转时,也可以根据具体情况,选择顺时针或逆时针旋转特定的角度,以使页面内容更加清晰可读或适应特定的显示需求。这一功能可以通过PDF处理工具或者库来实现。这里我将介绍如何使用PDF库在Python平台上旋转文档页面。

所需工具:

Spire.PDF for Python

这个程序库支持在Python平台上创建,编辑或者转换PDF文档。目前官方页面上的代码教程还不算完善,如果需要其他代码示例的话,建议直接下载产品查看。

准备工作:

首先,我们需要在Visual Studio Code中安装需要使用到的库和plum-dispatch v1.7.4。在这之前请先确认是否已经安装Python。若已安装,可以直接进行以下步骤:

  • 打开VS Code,在中搜索到Python并安装。
  • 依次选择Explorer - NO FOLRDER OPENED- Open Folder
  • 选择一个文件夹,然后在里面新建一个" .py "文件。
  • 创建后,点击Terminal- New Terminal
  • 输入下面的命令即可成功安装。

pip install Spire.PDF

参考代码

复制代码
from spire.pdf.common import *
from spire.pdf import *

#创建PdfDocument对象 
pdf = PdfDocument()

#读取PDF文档
pdf.LoadFromFile("C:/Users/Administrator/Desktop/Sample.pdf")

#遍历文档中的所有页面
for i in range(pdf.Pages.Count):
    page = pdf.Pages.get_Item(i)

    #获取原有页面的旋转角度
    rotation = int(page.Rotation.value)

    #在原有基础上顺时针旋转页面180度
    rotation += int(PdfPageRotateAngle.RotateAngle180.value)
    page.Rotation = PdfPageRotateAngle(rotation)

#保存结果文档
pdf.SaveToFile("C:/Users/Administrator/Desktop/Result.pdf") 
pdf.Close()

代码说明

  1. 上述代码中,首先创建一个 PdfDocument 对象并加载一个PDF文档。
  2. 然后循环遍历所有页面。
  3. 通过 PdfPageBase.Rotation.value 属性获取页面的原始旋转角度。
  4. 在原有基础上更改角度并应用新的旋转角度到所有页面中。
  5. 最后,保存结果文档。

运行以上代码的话,所有页面都将被旋转。

如果您只想旋转特定页面,则可以先获取指定页面,再更改旋转角度。

此时就不需要循环遍历所有页面。下面是参考代码片段(这里的参数从0开始):

复制代码
#获取指定页面

page = pdf.Pages[0]

效果图:

相关推荐
vx_vxbs668 小时前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
田里的水稻8 小时前
Python_编程中代码注释相关格式 PEP8 — Python 官方代码风格指南
开发语言·python
丹宇码农8 小时前
consul集群搭建
python·consul
努力的小帅9 小时前
Python_OpenCV入门到精通——入门篇(看这一篇就足够了!!!)
图像处理·python·opencv·计算机视觉·视觉检测·视觉项目
洗紫9 小时前
Python常用内置模块教程:os/sys/datetime/random/json全解析
python
Python大数据分析@9 小时前
我把pdfplumber整成了可以拖拉拽的web软件
前端·pdf
z***89719 小时前
Flask框架中SQLAlchemy的使用方法
后端·python·flask
G果9 小时前
ROS2 Cartographer纯定位导航遇到的问题
python·ros2·定位·cartographer·导航·launch·navigation2
Brduino脑机接口技术答疑9 小时前
脑机接口数据处理连载(二) 数据源头解析:脑电信号的采集原理与数据特性
人工智能·python·算法·数据分析·脑机接口
Wise玩转AI9 小时前
Day 25|智能体的“可观察性(Observability)体系”
人工智能·python·ai·chatgpt·ai智能体