首页 > Python资料 博客日记
使用 Python 旋转PDF页面、或调整PDF页面顺序
2024-05-13 16:00:03Python资料围观112次
在将纸质文档扫描成PDF电子文档时,有时可能会出现页面方向翻转或者页面顺序混乱的情况。为了确保更好地浏览和查看PDF文件,本文将分享一个使用Python来旋转PDF页面或者调整PDF页面顺序的解决方案。
要实现Python对PDF页面进行设置,我们需要用到第三方库 Spire.PDF for Python。该库支持在Python中生成、操作、转换PDF等各项操作。可以下载后手动安装或者使用pip命令来安装:
pip install Spire.PDF
使用Python旋转PDF页面
Spire.PDF for Python支持在当前页面旋转角度的基础上顺时针旋转0度、90度、180度和270度。以下为示例代码:
from spire.pdf.common import * from spire.pdf import * # 创建PdfDocument对象 pdf = PdfDocument() # 加载PDF文件 pdf.LoadFromFile("分析.pdf") # 获取第一页 page = pdf.Pages[0] # 获取页面原始旋转角度 rotation = int(page.Rotation.value) # 基于原始旋转角度将页面顺时针旋转90度 rotation += int(PdfPageRotateAngle.RotateAngle90.value) page.Rotation = PdfPageRotateAngle(rotation) # 保存文件 pdf.SaveToFile("旋转PDF页面.pdf") pdf.Close()
在以上示例中,我们先使用 PdfPageBase.Rotation.value 属性获取页面的原始旋转角度,然后指定顺时针90度的旋转角度,再通过PdfPageBase.Rotation 属性来旋转PDF页面。
效果图:
使用Python调整PDF页面顺序
按照文档内容的逻辑性、相关联性来重新排列PDF页面可以增强PDF文档可读性。在Python中,我们使用Spire.PDF for Python库提供的 PdfDocument.Pages.ReArrange(orderArray: List[int]) 方法可以轻松调整PDF页面顺序。
其中参数orderArray是一个整数列表,用于指定新的页面顺序。例如,假设我们有一个包含 4 页的 PDF 文档,页码分别为 1、2、3、4。如果我们想重新排列这些页面,使得页面顺序变为 3、1、4、2,那么 orderArray 应该是 [2, 0, 3, 1](PDF页面索引从 0 开始)。
以下为示例代码:
from spire.pdf.common import * from spire.pdf import * inputFile = "测试文档.pdf" outputFile = "重排PDF页面顺序.pdf" # 创建PdfDocument对象 pdf = PdfDocument() # 加载PDF文件 pdf.LoadFromFile(inputFile) # 调整PDF页面顺序 pdf.Pages.ReArrange([1, 0, 2]) # 保存文件 pdf.SaveToFile(outputFile, FileFormat.PDF) pdf.Close()
效果图:
以上两段代码演示了如何在Python中旋转PDF页面和重排PDF页面顺序。除此之外,该Python库还支持其他PDF页面设置,如设置页边距、页面尺寸等,点击链接查看更多示例:
https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html
标签:
相关文章
最新发布
- boto3:Python连接S3对象存储并进行文件操作(上传、下载、删除)
- 全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
- Python pycryptodome类库使用学习总结
- import torch 报错:WinError 126
- 如何在Java中实现邮件发送功能?
- python之openpyxl模块——实现Excel表格的处理(万字教学,全网最全,超详细!)
- BUG解决:postman可以请求成功,但Python requests请求报403
- 解决Pycharm下载torch报错:OSError: [WinError 126] 找不到指定的模块。
- python创建线程和结束线程
- 精通Python(基础篇)pip命令大全(非常详细)零基础入门到精通,收藏这一篇就够了
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj
- Python pyinstaller打包exe最完整教程
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应