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

python獲取word文檔總頁數(shù)的兩種方法

 更新時間:2024年03月25日 11:43:33   作者:一縷82年的清風(fēng)  
這篇文章主要介紹了python獲取word文檔的總頁數(shù)的兩種方法,文中給出了兩種解決方案,兩種方案也都各有優(yōu)缺點(diǎn),可能也不一定是完全準(zhǔn)確的,需要的朋友可以參考下

最近在搞AI. 遇到了一個問題,就是要進(jìn)行doc文檔的解析。并且需要展示每個文檔的總頁數(shù)。

利用AI. 分別嘗試了chatGPT, 文心一言, github copilot,Kimi 等工具,給出來的答案都不盡如人意。

給的最多的查詢方式就是下面這種。

這個給大家避雷一下。使用python-docx的方式,是沒有辦法獲取文檔總頁數(shù)的。 如果想獲取,也只能是獲取一個近似值,大體就是根據(jù)每個頁面平均有多少個段落,或者平均有多少行的方式,近似的得到一個結(jié)果。完全是不準(zhǔn)確的。

那么如果想要獲取總頁數(shù),應(yīng)該怎么辦呢? 經(jīng)過一番調(diào)研這里給出兩種解決方案,兩種方案也都各有優(yōu)缺點(diǎn)??赡芤膊灰欢ㄊ峭耆珳?zhǔn)確的,但是相比于上面的方式還是要好出很多。

一、使用langchain

langchain是什么,這里就不詳細(xì)介紹了,是AI領(lǐng)域當(dāng)前非常流行的一套框架。 langchain中提供了很多開箱即用的功能,比如文檔解析、文檔拆分, 向量比較、摘要提取等。 在文檔解析中,就有對于word文檔解析的方法,這在個方法中,我們可以間接獲取文檔頁數(shù)。

地址:https://www.langchain.com.cn/modules/indexes/document_loaders/examples/word_document

方法:

word_path = '/xxx/xxx.docx'
loader = UnstructuredWordDocumentLoader(word_path, mode="paged")
docs = loader.load_and_split(texts_splitter)
for doc in docs:
    print(doc)

這里的mode可以選擇paged,也可以使用elements 一個是按照頁進(jìn)行分割,一個是按照元素做分割。那么怎么獲取頁數(shù)呢,在返回的元素中,就可以找到page_number這樣一個字段。

所以無論我們使用paged還是使用elements,都可以從返回結(jié)果(集合)中通過獲取page_number的最大值,來得到該文檔的總頁數(shù)。

局限性: 這種方法也不是沒有任何缺點(diǎn),但是整理來說還是相對準(zhǔn)確的。確定就是有的時候,文檔明明是三頁。但是解析出來的結(jié)果可能是兩頁。 我出現(xiàn)過一次,主要是我自己做了測試,第二頁空白比較多的時候,又添加了第三頁。這個時候,第三頁的內(nèi)容出現(xiàn)在第二頁的解析結(jié)果中了。 導(dǎo)致最終識別的結(jié)果為2.

二、沒啥好辦法,word2pdf

的確,沒啥好的辦法了,只能先把word轉(zhuǎn)換為pdf, 然后獲取pdf的頁數(shù)。 pdf的頁數(shù)獲取還是很簡單的,很多pdf相關(guān)工具,都有這個功能,也就一行代碼的事。給一個例子吧:

from fitz import fitz

doc = fitz.open(pdf_path)
print(doc.page_count)

問題主要在于word如何轉(zhuǎn)為pdf, 我這里使用的是libreOffice. 不同的平臺有不同平臺的安裝包。 具體的使用,這里就不詳細(xì)介紹了。

局限性 主要局限性就是平臺限制, 比如我們的文檔通常是在windows上, 而部署平臺一般是在linux上,相當(dāng)于libreOffice要裝在linux上,這個時候,由于平臺不同,轉(zhuǎn)換出來的pdf頁數(shù)可能也會有一些差距,都一頁少一頁這類的。 有沒有好的方案呢。 兩種,一種是用windows系統(tǒng)做部署服務(wù)器。 一種是使用wps+docker desktop的方式。

兩種方式,都有點(diǎn)小缺陷, 但是誤差不大,可接受的就用這兩種方法把,接受不了的,可以按照給的思路,自己去折騰折騰。

到此這篇關(guān)于python獲取word文檔的總頁數(shù)的兩種方法的文章就介紹到這了,更多相關(guān)python獲取word文檔總頁數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例

    封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例

    這篇文章主要為大家介紹了封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2023-05-05
  • python中pygame安裝不成功的解決辦法

    python中pygame安裝不成功的解決辦法

    盡管網(wǎng)上搜到許多篇關(guān)于pycharm如何安裝pygame庫,但是跟著要求做還是安裝失敗,下面這篇文章主要給大家介紹了關(guān)于python中pygame安裝不成功的解決辦法,需要的朋友可以參考下
    2023-05-05
  • 解決pycharm中導(dǎo)入自己寫的.py函數(shù)出錯問題

    解決pycharm中導(dǎo)入自己寫的.py函數(shù)出錯問題

    今天小編就為大家分享一篇解決pycharm中導(dǎo)入自己寫的.py函數(shù)出錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python functools.lru_cache裝飾器性能提升利器深入探究

    Python functools.lru_cache裝飾器性能提升利器深入探究

    本文將詳細(xì)介紹functools.lru_cache裝飾器的原理、用法以及適當(dāng)?shù)膱鼍?以幫助你更好地利用這一功能,它可以用來緩存函數(shù)的輸出,以避免重復(fù)計(jì)算,從而顯著提高程序的執(zhí)行速度
    2024-01-01
  • 總結(jié)python中pass的作用

    總結(jié)python中pass的作用

    在本篇內(nèi)容里我們給讀者們分享了關(guān)于python中pass的作用以及相關(guān)實(shí)例代碼,有需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • Python實(shí)現(xiàn)單例模式的四種方法

    Python實(shí)現(xiàn)單例模式的四種方法

    在Python中實(shí)現(xiàn)單例模式,意味著一個類只能創(chuàng)建一個實(shí)例,單例模式在某些場景下非常有用,比如當(dāng)你需要控制資源的訪問,或者當(dāng)你想確保全局只有一個對象實(shí)例時,本文給大家介紹了幾種在Python中實(shí)現(xiàn)單例模式的方法,需要的朋友可以參考下
    2024-03-03
  • Python幫你解決手機(jī)qq微信內(nèi)存占用太多問題

    Python幫你解決手機(jī)qq微信內(nèi)存占用太多問題

    你有沒有發(fā)現(xiàn)以前16G內(nèi)存也可以裝幾個游戲玩,現(xiàn)在128G的卻日常使用都不夠了?更不用說裝什么游戲,這其實(shí)是軟件內(nèi)存占用過多導(dǎo)致的,今天我們用python來清理下
    2022-02-02
  • pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù)

    pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù)

    這篇文章主要介紹了pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù),問綻放圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下
    2022-05-05
  • Python?LeNet網(wǎng)絡(luò)詳解及pytorch實(shí)現(xiàn)

    Python?LeNet網(wǎng)絡(luò)詳解及pytorch實(shí)現(xiàn)

    LeNet主要用來進(jìn)行手寫字符的識別與分類,并在美國的銀行中投入了使用。本文主要為大家詳細(xì)介紹了LetNet以及通過pytorch實(shí)現(xiàn)LetNet,感興趣的小伙伴可以學(xué)習(xí)一下
    2021-11-11
  • Python簡單操作sqlite3的方法示例

    Python簡單操作sqlite3的方法示例

    這篇文章主要介紹了Python簡單操作sqlite3的方法,結(jié)合實(shí)例形式分析了Python針對sqlite3數(shù)據(jù)庫的讀取、創(chuàng)建、增刪改查等基本操作技巧,需要的朋友可以參考下
    2017-03-03

最新評論

浪卡子县| 五台县| 昂仁县| 庆阳市| 隆尧县| 夏河县| 慈溪市| 德格县| 弋阳县| 寿阳县| 湖北省| 博客| 阳朔县| 泽州县| 仙游县| 盐源县| 时尚| 瑞安市| 遂川县| 古浪县| 湘潭县| 陆良县| 嘉义县| 洛宁县| 咸宁市| 和平县| 沙洋县| 名山县| 施秉县| 梧州市| 涟源市| 高唐县| 开平市| 阳山县| 吴川市| 从化市| 赤壁市| 舒城县| 武强县| 新晃| 河源市|