You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中提取PDF指定区域文本并存储至数据库?

PDF发票指定区域文本提取解决方案

方法1:针对可编辑PDF(原生PDF)提取指定区域文本

如果你的发票是原生可编辑PDF,推荐使用**PyMuPDF(fitz)**库,它能精准提取指定坐标范围内的文本:

  1. 安装依赖
pip install pymupdf
  1. 获取目标区域坐标
    用PDF阅读器(如Adobe Acrobat、Foxit Reader)打开发票PDF,查看黄色高亮区域的**左上角(x1,y1)和右下角(x2,y2)**坐标(PDF坐标系以左下角为原点)。

  2. 编写提取脚本

import fitz  # PyMuPDF

def extract_region_text(pdf_path, page_num, rect):
    doc = fitz.open(pdf_path)
    page = doc[page_num]
    # rect格式:(x1, y1, x2, y2)
    text = page.get_text("text", clip=rect)
    doc.close()
    return text.strip()

# 示例:替换为你的PDF路径、页码和目标区域坐标
pdf_path = "your_invoice.pdf"
target_rect = (100, 200, 300, 300)  # 替换为实际坐标
extracted_text = extract_region_text(pdf_path, 0, target_rect)
print(extracted_text)

方法2:针对扫描版PDF(图片型PDF)提取指定区域文本

如果发票是扫描生成的图片PDF,需要先提取指定区域的图片,再通过OCR识别文本:

  1. 安装依赖
pip install pymupdf pytesseract

同时需本地安装Tesseract OCR引擎,根据你的操作系统下载对应官方版本安装即可。

  1. 提取区域图片并OCR识别
import fitz
import pytesseract
from PIL import Image

def extract_region_ocr(pdf_path, page_num, rect):
    doc = fitz.open(pdf_path)
    page = doc[page_num]
    # 提取指定区域的图片
    pix = page.get_pixmap(clip=rect)
    img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
    doc.close()
    # OCR识别文本(中文用chi_sim,英文用eng)
    text = pytesseract.image_to_string(img, lang="chi_sim")
    return text.strip()

# 示例调用
pdf_path = "scanned_invoice.pdf"
target_rect = (100, 200, 300, 300)
ocr_text = extract_region_ocr(pdf_path, 0, target_rect)
print(ocr_text)

存入数据库

提取到文本后,可使用对应数据库的Python驱动(如sqlite3、psycopg2、pymysql)将数据插入数据库,示例(SQLite):

import sqlite3

def save_to_db(text):
    conn = sqlite3.connect("invoices.db")
    cursor = conn.cursor()
    # 首次运行创建表
    cursor.execute("CREATE TABLE IF NOT EXISTS invoice_data (id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT)")
    # 插入数据
    cursor.execute("INSERT INTO invoice_data (content) VALUES (?)", (text,))
    conn.commit()
    conn.close()

# 调用保存
save_to_db(extracted_text)

内容的提问来源于stack exchange,提问作者marco77sa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:22:47