python实现PDF指定页面旋转 您所在的位置:网站首页 pdf旋转打印 python实现PDF指定页面旋转

python实现PDF指定页面旋转

2023-07-10 01:20| 来源: 网络整理| 查看: 265

下面示例代码,是将横向纸张旋转为纵向(根据纸张大小判断纸张方向) 方法一:使用PyPDF2库

from PyPDF2 import PdfFileWriter, PdfFileReader def page_rotation(old_file, new_file): """ PDF页面旋转 :param old_file: 需要旋转的PDF文件 :param new_file: 旋转后的PDF文件 :return: """ pdf = PdfFileReader(old_file) page_num = pdf.getNumPages() pdf_writer = PdfFileWriter() for i in range(page_num): # orientation = pdf.getPage(i).get('/Rotate') # 获取页面的旋转角度 size = pdf.getPage(i).mediaBox # 获取页面大小值(长、宽) x, y = size.getUpperRight_x(), size.getUpperRight_y() if x > y: # 顺时针旋转90度 90的倍数 page = pdf.getPage(i).rotateClockwise(90) # 逆时针旋转90度 90的倍数 # page = pdf.getPage(i).rotateCounterClockwise(90) pdf_writer.addPage(page) else: # 不旋转 page = pdf.getPage(i).rotateClockwise(0) pdf_writer.addPage(page) with open(new_file, 'wb') as f: pdf_writer.write(f)

方法二:使用pdfrw库

安装:pip install pdfrw from pdfrw import PdfReader, PdfWriter def pdf_page_rotate(input_file, output_file): """ 页面旋转 :param input_file: 输入文件 :param output_file: 输出文件 :return: """ reader = PdfReader(input_file) writer = PdfWriter() pages = reader.pages # print(pages) # page也有MediaBoxs属性,可以取到页面大小 # size = pages[0].MediaBox pages[0].Rotate = 90 # 顺时针旋转90度 writer.addpage(pages[0]) writer.write(output_file)

本文来自博客园,仅供参考学习,如有不当之处还望不吝赐教,不胜感激!转载请注明原文链接:https://www.cnblogs.com/rong-z/p/14959728.html

作者:Rong_Z


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有