当前位置: 首页 > wzjs >正文

苏州精品网站建设hao123上网从这里开始官方

苏州精品网站建设,hao123上网从这里开始官方,网站建设会计帐务处理,有没有专门做毕业设计的网站PDF(可移植文档格式)文件是由Adobe创建的一种灵活的文件格式,它允许文档在不同的软件、硬件和操作系统中一致地显示。每个PDF文件都包含对固定布局文档的全面描述,包括文本、字体、图形和其他必要的显示元素。pdf通常用于文档共享…

PDF(可移植文档格式)文件是由Adobe创建的一种灵活的文件格式,它允许文档在不同的软件、硬件和操作系统中一致地显示。每个PDF文件都包含对固定布局文档的全面描述,包括文本、字体、图形和其他必要的显示元素。pdf通常用于文档共享,因为它们能够保持原始格式。然而,以编程方式解析和解释PDF内容可能是一项挑战。这些困难包括pdf的复杂结构、不同的文本编码、复杂的布局、压缩的内容和嵌入的字体等问题。

我们最近评估了几个流行的Python PDF库,如PyPDF/PyPDF2, PDFMiner.six, PyMuPDF, PDFplumber2,等。有些库适合提取文本,有些适合提取图像,有些速度很快,等等。在本文中,我们将重点介绍如何开始使用PDFMiner.six。最新信息请随时关注官方网站。

在这里插入图片描述

环境准备

安装依赖包:

pip install pdfminer.six
pip install 'pdfminer.six[image]'

示例PDF文件可以在这里找到,当然你也可以自己准备。让我们看看如何使用这些api:

  • 从PDF中提取文本
  • 从PDF中提取图像
  • 迭代PDF中的所有对象
  • 从PDF中提取TableOfContent (ToC)

抽取文本

通过高级API可用于从PDF中提取文本。

from pdfminer.high_level import extract_text
from os import pathpath = path.abspath(path.dirname(__file__))
print(path)pdf_file = path + '/sample01.pdf'
text = extract_text(pdf_file)
print(text)

抽取每一页

from io import StringIOfrom pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.utils import open_filenamefrom os import pathpath = path.abspath(path.dirname(__file__))
print(path)def iter_text_per_page(pdf_file, password='', page_numbers=None, maxpages=0,caching=True, codec='utf-8', laparams=None):if laparams is None:laparams = LAParams()with open_filename(pdf_file, "rb") as fp:rsrcmgr = PDFResourceManager(caching=caching)idx = 1for page in PDFPage.get_pages(fp,page_numbers,maxpages=maxpages,password=password,caching=caching,):with StringIO() as output_string:device = TextConverter(rsrcmgr, output_string, codec=codec,laparams=laparams)interpreter = PDFPageInterpreter(rsrcmgr, device)interpreter.process_page(page)yield idx, output_string.getvalue()idx += 1def main():pdf_file = path + '/sample02.pdf'for count, page_text in iter_text_per_page(pdf_file):print(f'page# {count}:\n{page_text}')print()if __name__ == "__main__":main()

输出内容截取如下:

page# 1:产品主要功能包括数据采集、数据治理以及数据产品应用。企业典型应用场景利用 AI 算法实现业务分类、聚类、回归预测以及时间序列预测等。在销售领域基于历史数据实现销售预测,基于用户特征数据对客户分类实现精准营销;在采购领域利用历史数据预测采购价格,基于多维度指标实现供应商综合评价模型等。page# 2:
各类政策法规进行整理和归纳,帮助用户更加方便快捷地获取所需的政策信息。。。。

抽取图像

提取图像的最简单方法是调用命令行工具pdf2txt.py。它是在安装PDFMiner时安装的,并且位于Python可执行文件的相同位置。使用的操作系统。可执行文件’查找Python二进制文件的位置。

下面是示例用法:

usage: pdf2txt.py [-h] [--version] [--debug] [--disable-caching] [--page-numbers PAGE_NUMBERS [PAGE_NUMBERS ...]][--pagenos PAGENOS] [--maxpages MAXPAGES] [--password PASSWORD] [--rotation ROTATION] [--no-laparams][--detect-vertical] [--line-overlap LINE_OVERLAP] [--char-margin CHAR_MARGIN] [--word-margin WORD_MARGIN][--line-margin LINE_MARGIN] [--boxes-flow BOXES_FLOW] [--all-texts] [--outfile OUTFILE][--output_type OUTPUT_TYPE] [--codec CODEC] [--output-dir OUTPUT_DIR] [--layoutmode LAYOUTMODE][--scale SCALE] [--strip-control]files [files ...]To extract all text from pdf:
pdf2txt.py --all-texts ../samples/manual.pdfTo extract all images from pdf:
pdf2txt.py --output-dir images ../sample03.pdf

如果希望将其集成到应用程序中,只需从pdf2txt.py复制源代码即可.

获取页数

from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfparser import PDFParser
from pdfminer.pdftypes import resolve1pdf_file = '../samples/brocher1.pdf'with open(pdf_file, 'rb') as f:parser = PDFParser(f)doc = PDFDocument(parser)parser.set_document(doc)pages = resolve1(doc.catalog['Pages'])pages_count = pages.get('Count', 0)print(pages_count)

抽取表格数据

pdfminer抽取表格的输出看起来比PyPDF2好得多,我们可以很容易地使用regex或split()提取所需的数据。但是在现实世界中,PDF文档包含很多噪声,id可以是不同的格式等等。我无法想象一个算法会考虑所有的事情。为了简化和加快我们的工作,我建议将PDF文件转换为HTML格式:

from io import StringIO
from pdfminer.high_level import extract_text_to_fp
from pdfminer.layout import LAParamsoutput = StringIO()
with open('example.pdf', 'rb') as pdf_file:extract_text_to_fp(pdf_file, output, laparams=LAParams(), output_type='html', codec=None)
with open('example.html', 'a') as html_file:html_file.write(output.getvalue())

然后再利用html标签处理库抽取文本,这种方法准确率应该能得到保障。

http://www.dtcms.com/wzjs/230647.html

相关文章:

  • wordpress手机视频主题百度优化
  • 挑号网站后台怎么更新关键词优化如何做
  • apache 建立网站站长工具综合查询官网
  • vs2017 做c 网站贵州seo培训
  • 洛阳西工区做网站哪家好西安建站推广
  • dede网站限制IP浏览搜索引擎排名的三大指标
  • 线下销售怎么做推广seo技术建站
  • 给做网站的寿全斋是真的吗赤峰seo
  • 如何做logo模板下载网站网络推广公司是干嘛的
  • 英文网站注册seo的基本步骤包括哪些
  • 福建省人民政府网站官网今日关注
  • 网站建设前台功能设计与实现舆情系统
  • 做gif动图的素材网站如何自己制作网站
  • 副食店年报在哪个网站做怎么推广自己的微信号
  • 网站字号多大网站建设策划书
  • wordpress个人主题影响关键词优化的因素
  • 企业的网站一般做哪些维护2024年阳性最新症状
  • 吉林省工程建设标准网站怎么做网站教程
  • 建设买卖网站要多少钱郑州seo推广
  • 网站风格主要包括哪些seo技术培训岳阳
  • 人工智能软件seo是什么服务器
  • 婚庆网站的设计意义百度快照怎么优化排名
  • 新网网站建设站长工具 seo综合查询
  • 使用redis做视频网站缓存淘宝客推广
  • 免费主页空间的网站pc网站优化排名软件
  • wordpress 菜单编辑seo攻略
  • 西安手机网站制作关键词优化排名的步骤
  • 福州外文网站建设漯河网络推广哪家好
  • 个人网站名称直通车推广
  • 网站不弄公安备案会怎么样aso优化推广公司