python實現PDF指定頁面旋轉


下面示例代碼,是將橫向紙張旋轉為縱向(根據紙張大小判斷紙張方向)

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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM