最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python獲取PDF頁面的大小、方向和旋轉(zhuǎn)角度

 更新時間:2024年09月18日 09:51:43   作者:Eiceblue  
在文檔管理和自動化領(lǐng)域,了解PDF文檔的內(nèi)在屬性(如頁面大小、方向和旋轉(zhuǎn)角度)對于確保一致的文檔處理和布局保真度至關(guān)重要,因?yàn)樗鼈冎苯佑绊懳臋n的可讀性和用戶體驗(yàn),本文將展示如何使用Python代碼獲取PDF文檔中頁面的大小、方向和旋轉(zhuǎn)角度,需要的朋友可以參考下

引言

在文檔管理和自動化領(lǐng)域,了解PDF文檔的內(nèi)在屬性(如頁面大小、方向和旋轉(zhuǎn)角度)對于確保一致的文檔處理和布局保真度至關(guān)重要。這些屬性在內(nèi)容重用、歸檔以及PDF無縫集成到網(wǎng)絡(luò)環(huán)境或其他數(shù)字工作流程中起著關(guān)鍵作用,因?yàn)樗鼈冎苯佑绊懳臋n的可讀性和用戶體驗(yàn)。通過利用Python,開發(fā)人員可以高效提取這些屬性,從而方便旋轉(zhuǎn)頁面的自動更正等任務(wù)。

本文將展示如何使用Python代碼獲取PDF文檔中頁面的大小、方向和旋轉(zhuǎn)角度。

本文使用的方法需要Spire.PDF for Python,PyPI安裝命令:pip install Spire.PDF

使用Python獲取PDF頁面的大小

我們可以使用PdfPageBase.Size.WidthPdfPageBase.Size.Height來獲取PDF頁面的寬度和高度(單位為點(diǎn))。然后,我們可以使用PdfUnitConvertor類將寬度和高度轉(zhuǎn)換為其他單位,如毫米。詳細(xì)步驟如下:

  • 導(dǎo)入必要的模塊。
  • 創(chuàng)建一個PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Size.WidthPdfPageBase.Size.Height屬性獲取頁面的寬度和高度。
  • 創(chuàng)建一個PdfUnitConvertor對象。
  • 使用PdfUnitConvertor.Convert()方法將寬度和高度轉(zhuǎn)換為毫米。
  • 打印結(jié)果。
  • 釋放資源。

代碼示例

from spire.pdf import *

# 創(chuàng)建一個 PdfDocument 實(shí)例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面寬度和高度(單位為點(diǎn))
width = page.Size.Width
height = page.Size.Height

# 創(chuàng)建一個 PdfUnitConvertor 實(shí)例
converter = PdfUnitConvertor()

# 將寬度和高度從點(diǎn)轉(zhuǎn)換為厘米
mmWidth = converter.ConvertUnits(width, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)
mmHeight = converter.ConvertUnits(height, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)

# 打印寬度和高度
print("寬度: " + str(round(mmWidth, 1)) + " 厘米")
print("高度: " + str(round(mmHeight, 1)) + " 厘米")

# 釋放資源
pdf.Close()

結(jié)果

使用Python獲取PDF頁面的方向

由于頁面方向不是一個固定的參數(shù),我們需要通過比較頁面的高度和寬度來確定PDF頁面是橫向還是縱向。步驟如下:

  • 導(dǎo)入必要的模塊。
  • 創(chuàng)建一個PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Size.Width和PdfPageBase.Size.Height屬性獲取頁面的寬度和高度。
  • 比較高度和寬度以確定PDF頁面是橫向還是縱向,并打印結(jié)果。
  • 釋放資源。

代碼示例

from spire.pdf import *

# 創(chuàng)建一個 PdfDocument 實(shí)例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面的寬度和高度
width = page.Size.Width
height = page.Size.Height

# 檢查頁面的方向并打印結(jié)果
if width > height:
    print("頁面為橫向")
else:
    print("頁面為縱向")

# 釋放資源
pdf.Close()

結(jié)果

使用Python獲取和設(shè)置PDF頁面的旋轉(zhuǎn)角度

可以通過PdfPageBase.Rotation屬性直接獲取PDF頁面的旋轉(zhuǎn)角度。然后我們可以使用該值構(gòu)建字符串并打印,或者通過PdfPageBase.Rotation屬性更改旋轉(zhuǎn)角度。詳細(xì)步驟如下:

  • 導(dǎo)入必要的模塊。
  • 創(chuàng)建一個PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Rotation屬性獲取旋轉(zhuǎn)角度。
  • 打印旋轉(zhuǎn)角度或進(jìn)行其他操作。
  • 釋放資源。

代碼示例

import re

from spire.pdf import *

# 創(chuàng)建 PdfDocument 實(shí)例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例1.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面的旋轉(zhuǎn)角度
rotationAngle = page.Rotation

# 輸出旋轉(zhuǎn)角度
print("旋轉(zhuǎn)角度: " + re.search(r"\d+", rotationAngle.name).group() + " 度")

# 修改旋轉(zhuǎn)角度
page.Rotation = PdfPageRotateAngle.RotateAngle0

# 保存文檔
pdf.SaveToFile("output/ChangeRotationAngle.pdf")
pdf.Close()

結(jié)果

本文展示了如何使用Python獲取PDF文檔中頁面的大小、方向和旋轉(zhuǎn)角度。

以上就是使用python獲取PDF頁面的大小、方向和旋轉(zhuǎn)角度的詳細(xì)內(nèi)容,更多關(guān)于python獲取PDF頁面屬性的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于numpy中eye和identity的區(qū)別詳解

    關(guān)于numpy中eye和identity的區(qū)別詳解

    今天小編就為大家分享一篇關(guān)于numpy中eye和identity的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python中的pandas模塊詳解

    Python中的pandas模塊詳解

    在Python中使用pandas模塊,需要先安裝pandas庫,pandas模塊是Python編程語言中用于數(shù)據(jù)處理和分析的強(qiáng)大模塊,它提供了許多用于數(shù)據(jù)操作和清洗的函數(shù),使得數(shù)據(jù)處理和分析變得更為簡單和直觀,本文給大家介紹Python pandas模塊,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 解決flask接口返回的內(nèi)容中文亂碼的問題

    解決flask接口返回的內(nèi)容中文亂碼的問題

    這篇文章主要介紹了解決flask接口返回的內(nèi)容中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

    虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

    在本篇文章里小編給大家分享的是一篇關(guān)于虛擬機(jī)下載python是否需要聯(lián)網(wǎng)的相關(guān)文章,有需要的朋友們可以參考下。
    2020-07-07
  • Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    這篇文章主要介紹了Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • python實(shí)現(xiàn)自動發(fā)送郵件

    python實(shí)現(xiàn)自動發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動發(fā)送郵件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python 里的 range 是干嘛使用的

    Python 里的 range 是干嘛使用的

    range()用來生成一個整數(shù)序列,常用于for循環(huán),本文給大家介紹Python里的range使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • 利用PyQt5中QLabel組件實(shí)現(xiàn)亞克力磨砂效果

    利用PyQt5中QLabel組件實(shí)現(xiàn)亞克力磨砂效果

    Windows10 在 UWP 應(yīng)用中支持亞克力畫刷,可以在部件的底部繪制亞克力效果的背景圖。本文將使用QLabel來模擬這個磨砂過程,感興趣的可以了解一下
    2022-03-03
  • Python錯誤處理操作示例

    Python錯誤處理操作示例

    這篇文章主要介紹了Python錯誤處理操作,結(jié)合實(shí)例形式分析了Python使用try...except...finaly語句進(jìn)行錯誤處理的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • 在java中如何定義一個抽象屬性示例詳解

    在java中如何定義一個抽象屬性示例詳解

    這篇文章主要給大家介紹了關(guān)于在java中如何定義一個抽象屬性示例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08

最新評論

凭祥市| 开化县| 敦化市| 台中县| 连平县| 宁国市| 通山县| 襄汾县| 饶河县| 沁源县| 镇康县| 桃江县| 横峰县| 科技| 永吉县| 甘德县| 广平县| 柳州市| 清涧县| 共和县| 大姚县| 南汇区| 简阳市| 高州市| 宽城| 襄垣县| 兰考县| 沙雅县| 犍为县| 锡林浩特市| 清镇市| 大洼县| 错那县| 阿合奇县| 定结县| 紫云| 嵊泗县| 桐梓县| 工布江达县| 宣恩县| 航空|