import io
import pdfplumber
from opencc import OpenCC
import fitz # pymupdf
import os
file_path = '/document/pdf/xxx.pdf'
output_dir = '/classification/pdf/images'
#获取图片 demo
def extract_images_from_pdf(pdf_path, output_dir):
# 确保输出目录存在
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 打开PDF文件
doc = fitz.open(pdf_path)
page_count = doc.page_count
# 遍历PDF的每一页
for page_num in range(page_count):
page = doc.load_page(page_num)
# 获取页面中的图片信息
images = page.get_images(full=True)
image_index = 0
for img_index, img in enumerate(images):
xref = img[0]
base_image = doc.extract_image(xref)
image_bytes = base_image["image"]
image_ext = base_image["ext"]
# 使用Pillow将图片保存到本地
from PIL import Image
image = Image.open(io.BytesIO(image_bytes))
image_path = os.path.join(output_dir, f"image_{page_num + 1}_{image_index + 1}.{image_ext}")
image.save(image_path)
image_index += 1
doc.close()
# 使用示例
extract_images_from_pdf(file_path, output_dir)
cc = OpenCC('t2s')
def read_pdf_with_pdfplumber(file_path):
images = []
with (pdfplumber.open(file_path) as pdf):
num_pages = len(pdf.pages)
print(f"Number of pages: {num_pages}")
text = pdf.pages[0].extract_text()
text = cc.convert(text)
print(text)
# 示例用法
read_pdf_with_pdfplumber(file_path)
python读取pdf文档
jxf_jxfcsdn2025-02-22 15:04
相关推荐
web打印社区4 小时前
网页静默打印热敏小票:从 HTML 到出纸的完整指南用户77833661321112 小时前
用 React Hook 封装搜索数据:useSerp 的防抖、缓存与错误处理65岁退休Coder16 小时前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理ikun_文18 小时前
Django框架路由Router的使用IvanCodes18 小时前
Python 基础语法(二):字符串与常用操作昭昭日月明18 小时前
LangChain 生态:从链到代理,开发者需要掌握的三大核心Csvn19 小时前
🐍 Day 8:面向对象编程程序员天天困19 小时前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战alphaTao20 小时前
LeetCode 每日一题 2026/8/24-2026/8/30苏灿烤鱼20 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"