import fitz # PyMuPDF
import pandas as pd
# 開啟PDF檔案
pdf_path = '控制之美.pdf' # 請確保替換為正確的檔案路徑
document = fitz.open(pdf_path)
# 初始化一個列表來儲存目錄資訊
toc_list = []
# 提取目錄資訊的函式
def extract_toc(toc, level=0):
for item in toc:
# 確保目錄項至少包含標題
if len(item) > 1 and item[1]:
title = item[1]
# 確保頁碼是數字型別
page = item[2] if len(item) > 2 and isinstance(item[2], int) else None
if page is not None:
# 新增條目到列表
toc_list.append({
'Title': title,
'Page': page,
'Level': level
})
# 如果有子條目,遞迴提取
if len(item) > 3 and item[3]: # 子條目在索引3
extract_toc(item[3], level + 1)
# 獲取PDF的目錄
toc = document.get_toc(simple=False)
# 提取目錄資訊
extract_toc(toc)
# 關閉PDF檔案
document.close()
# 將列表轉換為DataFrame
toc_df = pd.DataFrame(toc_list)
# 將DataFrame輸出到CSV檔案
toc_df.to_csv('output.csv', index=False, encoding='utf-8')
提取pdf文件的目錄1.0
相關文章
- 提取pdf目錄,並且分級
- Express 文件(目錄)Express
- 獲取和設定pdf目錄
- 文件模型中的段落,目錄,文件,是什麼意思?模型
- C# 提取PDF中的表格C#
- 高效的PDF文字提取技術
- php檔案操作之提取檔案/目錄的名稱PHP
- linux文件和目錄結構Linux
- openoffice如何顯示文件的文件結構或目錄結構
- 根目錄下README文件翻譯
- 文件提取工具 apache/tikaApache
- 文件管理 | 文件目錄結構和檔案情況的檢視與匯出
- Java 生成 PDF 文件Java
- JSP生成WORD文件,EXCEL文件,PDF文件JSExcel
- Python 提取PDF文字和圖片Python
- 【目錄】JVM目錄JVM
- PDF文件搜尋工具:PDF Search Mac版Mac
- java-pdf-itext7、itextpdf 生成pdf 文件Java
- Laravel 生成 PDF 文件 - tcpdfLaravelTCP
- [linux]開啟當前目錄以及PDF檔案-轉帖Linux
- 【目錄】集合框架目錄框架
- PDF Expert 2.5.16 中文版-實用的 PDF 文件工具
- /opt目錄和/usr目錄的區別
- Master PDF Editor for Mac PDF文件編輯軟體ASTMac
- PDF文件壓縮工具:Cisdem PDF Compressor for MacMac
- C++遍歷日誌log目錄,並提取資料進行分析C++
- librosa 音訊特徵提取的現成文件ROS音訊特徵
- 巧用Python的camelot庫批量提取PDF發票資訊Python
- java生成簡易pdf文件Java
- pdf轉換成word文件
- 【目錄】JUC鎖框架目錄框架
- 記一次正規表示式實戰,給pdf加目錄
- UML使用者指南(第2版)【帶目錄高清pdf下載】
- 儲存目錄的SMB目錄共享問題
- C# 將PDF文件轉換為Markdown文件C#
- PDF文件轉換器PDF to Word Document Converter MacMac
- 如何用Python批量提取PDF文字內容?Python
- java從一個目錄中找到字串在那個文件中出現Java字串