如何使用 python 从 pdf 中提取粗体文本?

How to extract Bold text from pdf using python?

下表提供了不应单独计费的项目和服务示例。请注意,该列表并非包含所有内容。

1.手术室和服务 – 包括手术室,主要和次要,治疗室, 内窥镜检查实验室、心导管实验室、X 光。

2。设施基本费用 - 肺部和心脏科手术室。医院的 手术室和服务的费用应包括以上列出的全部护理人员服务、用品和设备

我想要这样的输出:

  1. 手术室和服务
  2. 设施基本费用

第一句也是粗体,但我们需要省略那句话,我们只需要提取那些用数字表示的文本

您可以使用以下代码完成此操作:

import pdfplumber
with pdfplumber.open('test.pdf') as pdf: 
    text = pdf.pages[0]
    clean_text = text.filter(lambda obj: obj["object_type"] == "char" and "Bold" in obj["fontname"])
    print(clean_text.extract_text())

它使用 pdfplumber 库,因此有关更多信息,您可以查看它们的文档

使用此代码:

import pdfplumber
import re
demo = []
with pdfplumber.open('HCSC IL Inpatient_Outpatient Unbundling Policy- Facility.pdf') as pdf: 
    for i in range(0, 50):
        try:
            text = pdf.pages[i]  
            clean_text = text.filter(lambda obj: obj["object_type"] == "char" and "Bold" in obj["fontname"])
            demo.append(str(re.findall(r'(\d+\.\s.*\n?)+', clean_text.extract_text())).replace('[]', ' '))
        except IndexError:
            print("")
            break