fitz获取pdf内容

embedded/2025/1/15 6:40:31/

1.获取pdf单页,及所有内容

import fitz  # PyMuPDF# 打开 PDF 文件
pdf_path = r"/data2/ljsang/0106/0725_Self-organization-of-plasticity-and-specialization-in-a-primi_2022_Cell-Syst.pdf【唯一淘宝店铺:艾米学社】.pdf"
doc = fitz.open(pdf_path)# 获取第一页
page = doc.load_page(0)# 提取页面中的文本信息(以字典形式返回)
text_dict = page.get_text("dict")# 遍历文本块
for block in text_dict["blocks"]:# 检查是否为文本块(type == 0)if block["type"] == 0:  # 0 表示文本块# 遍历行for line in block["lines"]:# 遍历字符片段for span in line["spans"]:text = span["text"]       # 文本内容font_size = span["size"]  # 字号大小font_name = span["font"]  # 字体名称print(f"文本: {text}, 字号: {font_size}, 字体: {font_name}")else:print(f"跳过非文本块,类型: {block['type']}")
import fitz  # PyMuPDF# 定义 PDF 文件路径
pdf_path = r"/data2/66.pdf"# 打开 PDF 文件
with fitz.open(pdf_path) as pdf:# 获取 PDF 的总页数total_pages = len(pdf)print(f"PDF 文件总页数: {total_pages}")# 遍历每一页for page_num in range(total_pages):print(f"正在处理的页码为 {page_num + 1}...")# 获取当前页page = pdf.load_page(page_num)# 提取文本内容text = page.get_text("text")if text:print("提取的文本内容:")print(text)else:print("该页无文本内容。")

2.获取每篇pdf内容,以及DOI号

import fitz  # PyMuPDF
import re
import os# 正则表达式匹配 DOI 号
doi_pattern = re.compile(r'https?://(?:dx\.)?doi\.org/10\.\d{4}/[^/\s]+')# 检查 PDF 是否包含 DOI 号
has_doi = False
doi_numbers = []# PDF 文件路径
pdf_path = r"/data2/ljsang/0106/0725_Self-organization-of-plasticity-and-specialization-in-a-primi_2022_Cell-Syst.pdfπÇÉσö»Σ╕ǵ╖ÿσ«¥σ║ùΘô║∩╝ÜΦë╛τ▒│σ¡ªτñ╛πÇæ.pdf"# 使用 fitz 打开 PDF 文件
pdf_document = fitz.open(pdf_path)# 遍历每一页
for page_num in range(len(pdf_document)):page = pdf_document.load_page(page_num)  # 加载页面text = page.get_text()  # 提取文本内容# 检查文本中是否包含 DOI 号if text:dois = doi_pattern.findall(text)if dois:has_doi = Truedoi_numbers.extend(dois)# 输出结果
print("DOI 号列表:", doi_numbers)
print("是否包含 DOI 号:", has_doi)

http://www.ppmy.cn/embedded/153688.html

相关文章

【STM32+QT项目】基于STM32与QT的智慧粮仓环境监测与管理系统设计(完整工程资料源码)

视频演示: 基于STM32与QT的智慧粮仓环境监测与管理系统设计 目录: 目录 视频演示: 目录: 前言:

【目标检测】数据集合集!

本文将为您介绍经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 1 objectdetection_script 更新时间:2025-01-06 访问地址: GitHub 描述: 这个项目主要是提供一些关于目标检测的代码和改进思路参考。主要分为几个方面&#xf…

openwrt 常见编译问题及编译提速

目录 friendlywrt介绍官方编译流程编译问题git clone errorbusybox和其他包冲突GCC编译错误ERROR: package/feeds/packages/gcc failed to build.手动编译编译提速ccache修改makefile去掉一些不必要的依赖固件定制:增加已经编译好的应用rootfs生成过程REF本文以friendlywrt22-…

用 Python 从零开始创建神经网络(十九):真实数据集

真实数据集 引言数据准备数据加载数据预处理数据洗牌批次(Batches)训练(Training)到目前为止的全部代码: 引言 在实践中,深度学习通常涉及庞大的数据集(通常以TB甚至更多为单位)&am…

LeetCode 热题 100_二叉树的最近公共祖先(48_236_中等_C++)(二叉树;深度优先搜索)

LeetCode 热题 100_二叉树的最近公共祖先(48_236) 题目描述:输入输出样例:题解:解题思路:思路一(深度优先搜索): 代码实现代码实现(思路一(深度优…

大语言模型训练

步骤 Self-Supervised Pre-Training,简称SPTSupervised Fine-Tuning,简称SFTLearning from Human Feedback,简称LfHF Self-Supervised Pre-Training 自监督预训练(Self-Supervised Pre-Training,简称SPT&#xff09…

likeshop同城跑腿系统likeshop回收租赁系统likeshop多商户商城安装及小程序对接方法

前言:首先likeshop是一个开发平台,是一个独创的平台就像TP内核平台一样,你可以在这个平台上开发和衍生出很多伟大的产品,以likeshop为例,他们开发出商城系统,团购系统,外卖点餐系统,…

啥!GitHub Copilot也免费使用了

文章目录 前言免费版直接修复代码多文件上下文Agent模式总结 前言 最近,GitHub 给开发者们带来了一个好消息:他们的 AI 编程助手 GitHub Copilot 现在可以免费使用了!以前,每个月要花 10 美元才能享受的服务,现在对所…