如何通过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]

效果图:

相关推荐
多恩Stone4 小时前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054964 小时前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
百锦再4 小时前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
QQ5110082854 小时前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
QQ_19632884754 小时前
Python-flask框架西山区家政服务评价系统网站设计与开发-Pycharm django
python·pycharm·flask
遥遥江上月4 小时前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
B站计算机毕业设计超人4 小时前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
B站_计算机毕业设计之家4 小时前
电影知识图谱推荐问答系统 | Python Django系统 Neo4j MySQL Echarts 协同过滤 大数据 人工智能 毕业设计源码(建议收藏)✅
人工智能·python·机器学习·django·毕业设计·echarts·知识图谱
百事牛科技4 小时前
保护文档安全:PDF限制功能详解与实操
windows·pdf
计算机专业码农一枚4 小时前
Python-flask框架基于推荐算法的在线课程推荐系统设计与实现-Pycharm django
python·flask·推荐算法