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

Python使用免費(fèi)API實(shí)現(xiàn)將PDF轉(zhuǎn)換為Excel

 更新時(shí)間:2026年03月16日 14:16:08   作者:LSTM97  
將PDF文件轉(zhuǎn)換為Excel格式對(duì)于數(shù)據(jù)分析、報(bào)告制作和工作流程自動(dòng)化至關(guān)重要,本文將介紹如何使用免費(fèi)Python API實(shí)現(xiàn)PDF轉(zhuǎn)Excel,感興趣的小伙伴可以了解下

將PDF文件轉(zhuǎn)換為Excel格式對(duì)于數(shù)據(jù)分析、報(bào)告制作和工作流程自動(dòng)化至關(guān)重要。Python提供了多個(gè)庫(kù)來(lái)高效完成這一任務(wù)。本文將介紹兩種使用免費(fèi)Python API的不同方法:

  • 將整個(gè)PDF頁(yè)面或文檔轉(zhuǎn)換為Excel
  • 從PDF中提取表格并導(dǎo)出到Excel

我們將對(duì)這兩種方法進(jìn)行比較,幫助您根據(jù)需求選擇最佳方案。

安裝所需庫(kù)

首先,您需要安裝以下庫(kù):

  • Free Spire.PDF for Python:一款功能強(qiáng)大的免費(fèi)PDF處理庫(kù),支持PDF轉(zhuǎn)Excel和表格提取功能 (支持處理10頁(yè)以內(nèi)的PDF文檔)。
  • openpyxl:流行的開源庫(kù),用于讀取、寫入和修改Excel文件。

使用 pip 安裝:

pip install spire.pdf.free openpyxl

安裝完成后,讓我們深入了解兩種轉(zhuǎn)換方法。

方法一:將整個(gè)PDF頁(yè)面或文檔轉(zhuǎn)換為Excel

此方法將PDF的全部?jī)?nèi)容(包括文本、圖像和格式)轉(zhuǎn)換為Excel文件,同時(shí)保留原始布局。

轉(zhuǎn)換關(guān)鍵參數(shù)

XlsxLineLayoutOptions類控制PDF到Excel的轉(zhuǎn)換方式。其構(gòu)造函數(shù)接受以下參數(shù):

  • convertToMultipleSheet (bool) — 若為True,每個(gè)PDF頁(yè)面將轉(zhuǎn)換為單獨(dú)的工作表;若為False,則只轉(zhuǎn)換首頁(yè)。
  • rotatedText (bool) — 決定是否顯示PDF中的旋轉(zhuǎn)文本。
  • splitCell (bool) — 若為True,PDF單元格中的多行文本將拆分為多個(gè)Excel單元格;若為False,則保留在單個(gè)單元格中。
  • wrapText (bool) — 啟用Excel單元格中的文本自動(dòng)換行。
  • overlapText (bool) — 控制是否顯示重疊文本。

示例代碼

from spire.pdf.common import *
from spire.pdf import *

# 創(chuàng)建PdfDocument對(duì)象
doc = PdfDocument()

# 加載PDF文件
doc.LoadFromFile("C:\Users\Administrator\Desktop\input.pdf")

# 設(shè)置XLSX布局轉(zhuǎn)換選項(xiàng)
options = XlsxLineLayoutOptions(False, False, False, True, False)

# 應(yīng)用轉(zhuǎn)換選項(xiàng)到文檔
doc.ConvertOptions.SetPdfToXlsxOptions(options)

# 將文檔保存為XLSX文件
doc.SaveToFile("output/ToExcel.xlsx", FileFormat.XLSX)

# 關(guān)閉文檔
doc.Close()

優(yōu)缺點(diǎn)分析

優(yōu)點(diǎn):

  • 保留PDF布局(文本位置、圖像、格式)
  • 適合格式復(fù)雜的文檔

缺點(diǎn):

  • 可能導(dǎo)致單元格合并或行高/列寬意外調(diào)整
  • 文本連貫性可能受損(被拆分到不同單元格)

方法二:從PDF中提取表格并導(dǎo)出到Excel

此方法僅從PDF中提取表格數(shù)據(jù)并導(dǎo)出到Excel,確保輸出內(nèi)容清晰、結(jié)構(gòu)化。

代碼示例

from spire.pdf import *
from openpyxl import Workbook
from openpyxl.utils import get_column_letter

# 創(chuàng)建PdfDocument對(duì)象
doc = PdfDocument()

# 加載PDF文件
doc.LoadFromFile("C:/Users/Administrator/Desktop/AI.pdf")

# 為PDF文檔設(shè)置表格提取器
extractor = PdfTableExtractor(doc)

# 創(chuàng)建新的Excel工作簿并移除默認(rèn)工作表
workbook = Workbook()
workbook.remove(workbook.active)

# 逐頁(yè)從PDF中提取表格
for page_index in range(doc.Pages.Count):
    tables = extractor.ExtractTable(page_index)
    for t_index, table in enumerate(tables):
        # 為每個(gè)提取的表格創(chuàng)建新工作表
        sheet = workbook.create_sheet(title=f"第{page_index+1}頁(yè)_表{t_index+1}")

        # 初始化列表,記錄各列的最大長(zhǎng)度
        max_lengths = [0] * table.GetColumnCount()

        for row in range(table.GetRowCount()):
            for col in range(table.GetColumnCount()):
                # 獲取單元格文本,清理后寫入Excel工作表
                text = table.GetText(row, col).replace("\n", " ").strip()
                sheet.cell(row=row + 1, column=col + 1, value=text)

                # 更新列的最大長(zhǎng)度
                max_lengths[col] = max(max_lengths[col], len(text))

        # 根據(jù)最大長(zhǎng)度自動(dòng)調(diào)整列寬
        for col in range(table.GetColumnCount()):
            adjusted_width = (max_lengths[col] + 2)  # 添加適當(dāng)邊距
            sheet.column_dimensions[get_column_letter(col + 1)].width = adjusted_width

# 保存工作簿到Excel文件
workbook.save("output/TableData.xlsx")

優(yōu)缺點(diǎn)分析

優(yōu)點(diǎn):

  • 僅提取表格數(shù)據(jù),輸出結(jié)構(gòu)清晰
  • Excel中可讀性更好(無(wú)合并單元格或格式問(wèn)題)

缺點(diǎn):

  • 不保留非表格內(nèi)容(圖像、自由文本等)
  • PDF中需要有明確的表格結(jié)構(gòu)才能準(zhǔn)確提取

兩種方法對(duì)比

方法數(shù)據(jù)完整性PDF布局保留程度Excel可讀性適用場(chǎng)景
轉(zhuǎn)換整頁(yè)所有數(shù)據(jù)均被轉(zhuǎn)換高(保留原始布局)中等(合并單元格、間距調(diào)整)布局復(fù)雜的文檔
提取表格僅提取表格數(shù)據(jù)低(丟失非表格格式)高(清晰的結(jié)構(gòu)化數(shù)據(jù))表格結(jié)構(gòu)明確的PDF

總結(jié)

  • 如果需要保留PDF原始布局(包括圖像和自由文本),請(qǐng)使用整頁(yè)轉(zhuǎn)換方法(例如處理法律文檔或格式要求嚴(yán)格的文檔)
  • 如果只需要結(jié)構(gòu)清晰的表格數(shù)據(jù)用于分析,請(qǐng)使用表格提取方法

兩種方法各有優(yōu)勢(shì),請(qǐng)根據(jù)項(xiàng)目具體需求做出選擇。

到此這篇關(guān)于Python使用免費(fèi)API實(shí)現(xiàn)將PDF轉(zhuǎn)換為Excel的文章就介紹到這了,更多相關(guān)Python PDF轉(zhuǎn)Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python繪圖系統(tǒng)之自定義一個(gè)坐標(biāo)列表控件

    Python繪圖系統(tǒng)之自定義一個(gè)坐標(biāo)列表控件

    這篇文章主要為大家詳細(xì)介紹了Python如何編寫一個(gè)繪圖系統(tǒng),可以實(shí)現(xiàn)自定義一個(gè)坐標(biāo)列表控件,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-08-08
  • 將Python代碼打包成.exe可執(zhí)行文件的完整步驟

    將Python代碼打包成.exe可執(zhí)行文件的完整步驟

    這篇文章主要給大家介紹了關(guān)于如何將Python代碼打包成.exe可執(zhí)行文件的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    今天小編就為大家分享一篇python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 在Django中URL正則表達(dá)式匹配的方法

    在Django中URL正則表達(dá)式匹配的方法

    今天小編就為大家分享一篇在Django中URL正則表達(dá)式匹配的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python 處理帶有 \u 的字符串操作

    Python 處理帶有 \u 的字符串操作

    這篇文章主要介紹了Python 處理帶有 \u 的字符串操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 用python處理圖片之打開\顯示\保存圖像的方法

    用python處理圖片之打開\顯示\保存圖像的方法

    本篇文章主要介紹了用python處理圖片之打開\顯示\保存圖像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python常見格式化字符串方法小結(jié)【百分號(hào)與format方法】

    Python常見格式化字符串方法小結(jié)【百分號(hào)與format方法】

    這篇文章主要介紹了Python常見格式化字符串方法,結(jié)合實(shí)例形式分析了百分號(hào)方法和format函數(shù)進(jìn)行字符串格式化的具體使用技巧,需要的朋友可以參考下
    2016-09-09
  • 利用python中的matplotlib打印混淆矩陣實(shí)例

    利用python中的matplotlib打印混淆矩陣實(shí)例

    這篇文章主要介紹了利用python中的matplotlib打印混淆矩陣實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 詳解Python使用Plotly繪圖工具,繪制甘特圖

    詳解Python使用Plotly繪圖工具,繪制甘特圖

    這篇文章主要介紹了Python使用Plotly繪圖工具,繪制甘特圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用Python pandas讀取CSV文件應(yīng)該注意什么?

    使用Python pandas讀取CSV文件應(yīng)該注意什么?

    本文是給使用pandas的新手而寫,主要列出一些常見的問(wèn)題,根據(jù)筆者所踩過(guò)的坑,進(jìn)行歸納總結(jié),希望對(duì)讀者有所幫助,需要的朋友可以參考下
    2021-06-06

最新評(píng)論

石泉县| 凤山市| 中江县| 孝昌县| 崇文区| 巴中市| 昌平区| 崇仁县| 益阳市| 隆子县| 孟连| 五河县| 象州县| 修水县| 宁南县| 宽甸| 外汇| 尚志市| 西乌珠穆沁旗| 兴隆县| 宁城县| 准格尔旗| 方正县| 浑源县| 南涧| 安达市| 客服| 酒泉市| 九龙坡区| 城市| 时尚| 凤庆县| 津市市| 如东县| 刚察县| 康定县| 桐乡市| 太保市| 莒南县| 高碑店市| 中超|