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

国内做网站制作比较网站开发软件

国内做网站制作比较,网站开发软件,网站建设的商业目的,广州软件开发软件公司解析 pdfminer layout.py LAParams类及其应用实例 引言类的定义1. line_overlap2. char_margin3. word_margin4. line_margin5. boxes_flow6. detect_vertical7. all_texts 类的初始化参数验证类的表示总结 引言 在这篇文章中,我们将解析一个叫做 LAParams 的类。这…

解析 pdfminer layout.py LAParams类及其应用实例

    • 引言
    • 类的定义
      • 1. `line_overlap`
      • 2. `char_margin`
      • 3. `word_margin`
      • 4. `line_margin`
      • 5. `boxes_flow`
      • 6. `detect_vertical`
      • 7. `all_texts`
    • 类的初始化
    • 参数验证
    • 类的表示
    • 总结

引言

在这篇文章中,我们将解析一个叫做 LAParams 的类。这个类主要用于布局分析,帮助我们理解文本的结构。我们将使用简单的语言和示例来解释每个参数的含义和作用。

类的定义

首先,我们来看一下 LAParams 类的定义:

class LAParams:"""Parameters for layout analysis:param line_overlap: If two characters have more overlap than this theyare considered to be on the same line. The overlap is specifiedrelative to the minimum height of both characters.:param char_margin: If two characters are closer together than thismargin they are considered part of the same line. The margin isspecified relative to the width of the character.:param word_margin: If two characters on the same line are further apartthan this margin then they are considered to be two separate words, andan intermediate space will be added for readability. The margin isspecified relative to the width of the character.:param line_margin: If two lines are are close together they areconsidered to be part of the same paragraph. The margin isspecified relative to the height of a line.:param boxes_flow: Specifies how much a horizontal and vertical positionof a text matters when determining the order of text boxes. The valueshould be within the range of -1.0 (only horizontal positionmatters) to +1.0 (only vertical position matters). You can also pass`None` to disable advanced layout analysis, and instead return textbased on the position of the bottom left corner of the text box.:param detect_vertical: If vertical text should be considered duringlayout analysis:param all_texts: If layout analysis should be performed on text infigures."""

这个类包含了七个参数,用于控制布局分析的不同方面。接下来我们逐一解释这些参数。

1. line_overlap

解释
line_overlap 参数用于判断两个字符是否在同一行。如果两个字符有超过一定比例的重叠部分,就认为它们在同一行上。

示例
想象你在写字,如果两个字母的底部重叠了很多,就说明它们在同一行。例如:

A
B  <- 这两个字母不在同一行
A
A  <- 这两个字母有很多重叠,说明它们在同一行

2. char_margin

解释
char_margin 参数用于判断两个字符是否属于同一行。如果两个字符之间的距离小于这个边距,就认为它们在同一行。

示例
如果两个字母靠得很近,它们就会被认为在同一行。例如:

A B <- 这两个字母在同一行
A    B <- 这两个字母距离太远,不在同一行

3. word_margin

解释
word_margin 参数用于判断同一行上的两个字符是否属于不同的单词。如果它们之间的距离大于这个边距,就认为它们是不同的单词。

示例
如果两个字母之间的距离很大,它们会被认为是不同的单词。例如:

A B <- 这两个字母是同一个单词
A     B <- 这两个字母是不同的单词

4. line_margin

解释
line_margin 参数用于判断两行是否属于同一个段落。如果两行之间的距离小于这个边距,就认为它们是同一个段落。

示例
如果两行文字之间的距离很小,它们会被认为是同一个段落。例如:

第一行文字
第二行文字 <- 这两行属于同一个段落
第一行文字第二行文字 <- 这两行不属于同一个段落

5. boxes_flow

解释
boxes_flow 参数用于指定在确定文本框顺序时,水平和垂直位置的重要性。值的范围是 -1.0 到 +1.0,-1.0 表示只有水平位置重要,+1.0 表示只有垂直位置重要。

示例
如果 boxes_flow 设置为 -1.0,表示我们主要关注文本的水平位置:

A  B  C
D  E  F <- 这种情况下,文本顺序是 “A B C D E F”

如果 boxes_flow 设置为 +1.0,表示我们主要关注文本的垂直位置:

A
B
C
D
E
F <- 这种情况下,文本顺序是 “A D B E C F”

6. detect_vertical

解释
detect_vertical 参数用于决定是否在布局分析过程中考虑垂直文本。

示例
如果有垂直方向的文字,这个参数可以帮助识别:

A
B
C <- 这是一段垂直文字

7. all_texts

解释
all_texts 参数用于决定是否对图表中的文本进行布局分析。

示例
如果有一张图片上有文字,这个参数可以帮助识别这些文字:

[图表]图表中的文字

类的初始化

接下来,我们看一下类的初始化方法:

def __init__(self,line_overlap: float = 0.5,char_margin: float = 2.0,line_margin: float = 0.5,word_margin: float = 0.1,boxes_flow: Optional[float] = 0.5,detect_vertical: bool = False,all_texts: bool = False,
) -> None:print("LAParams __init__() start...")self.line_overlap = line_overlapself.char_margin = char_marginself.line_margin = line_marginself.word_margin = word_marginself.boxes_flow = boxes_flowself.detect_vertical = detect_verticalself.all_texts = all_textsself._validate()print("LAParams __init__() complete...")

初始化方法中,我们将各个参数赋值给类的属性,并调用了一个 _validate 方法来验证 boxes_flow 参数。

参数验证

def _validate(self) -> None:if self.boxes_flow is not None:boxes_flow_err_msg = ("LAParam boxes_flow should be None, or a " "number between -1 and +1")if not (isinstance(self.boxes_flow, int) or isinstance(self.boxes_flow, float)):raise TypeError(boxes_flow_err_msg)if not -1 <= self.boxes_flow <= 1:raise ValueError(boxes_flow_err_msg)

_validate 方法确保 boxes_flow 参数的值在 -1 到 1 之间,否则会抛出错误。

类的表示

最后,我们看一下类的表示方法:

def __repr__(self) -> str:return ("<LAParams: char_margin=%.1f, line_margin=%.1f, ""word_margin=%.1f all_texts=%r>"% (self.char_margin, self.line_margin, self.word_margin, self.all_texts))

这个方法返回一个字符串,显示当前参数的值,便于调试和查看。

总结

通过这种方式,我们可以使用 LAParams 类来分析文本的布局,帮助我们更好地理解文本的结构。希望小学生们通过这个简单的解释,能够对编程和布局分析有一个初步的了解。


文章转载自:
http://affirmation.kzrg.cn
http://stupefaction.kzrg.cn
http://hindsight.kzrg.cn
http://jaguarondi.kzrg.cn
http://persiflage.kzrg.cn
http://unsophistication.kzrg.cn
http://vaccinator.kzrg.cn
http://reform.kzrg.cn
http://labialization.kzrg.cn
http://nuff.kzrg.cn
http://fidicinales.kzrg.cn
http://exactitude.kzrg.cn
http://campsheeting.kzrg.cn
http://girondism.kzrg.cn
http://reedbird.kzrg.cn
http://hexahedron.kzrg.cn
http://thailand.kzrg.cn
http://mammaplasty.kzrg.cn
http://brandish.kzrg.cn
http://frolic.kzrg.cn
http://polemological.kzrg.cn
http://deafness.kzrg.cn
http://etalon.kzrg.cn
http://metalwork.kzrg.cn
http://nationalist.kzrg.cn
http://socage.kzrg.cn
http://fanatically.kzrg.cn
http://influence.kzrg.cn
http://pussy.kzrg.cn
http://oberon.kzrg.cn
http://grindingly.kzrg.cn
http://vitligo.kzrg.cn
http://dobe.kzrg.cn
http://tetrasporangium.kzrg.cn
http://hurtling.kzrg.cn
http://spiflicate.kzrg.cn
http://contrapuntal.kzrg.cn
http://realignment.kzrg.cn
http://befell.kzrg.cn
http://accelerator.kzrg.cn
http://stabilize.kzrg.cn
http://ground.kzrg.cn
http://aegis.kzrg.cn
http://immobile.kzrg.cn
http://noctilucent.kzrg.cn
http://tubing.kzrg.cn
http://ruridecanal.kzrg.cn
http://kakapo.kzrg.cn
http://ton.kzrg.cn
http://springtide.kzrg.cn
http://biomorphic.kzrg.cn
http://usmcr.kzrg.cn
http://oviferous.kzrg.cn
http://aerohydroplane.kzrg.cn
http://garbo.kzrg.cn
http://ossetia.kzrg.cn
http://masterly.kzrg.cn
http://comparatively.kzrg.cn
http://cabalist.kzrg.cn
http://sialomucin.kzrg.cn
http://roding.kzrg.cn
http://excision.kzrg.cn
http://contraterrene.kzrg.cn
http://ftp.kzrg.cn
http://dutchman.kzrg.cn
http://misallocation.kzrg.cn
http://goonie.kzrg.cn
http://approval.kzrg.cn
http://antimutagenic.kzrg.cn
http://palolo.kzrg.cn
http://consolatory.kzrg.cn
http://indescribable.kzrg.cn
http://covary.kzrg.cn
http://algor.kzrg.cn
http://chilian.kzrg.cn
http://arrow.kzrg.cn
http://neutrino.kzrg.cn
http://friarly.kzrg.cn
http://forenamed.kzrg.cn
http://envenomate.kzrg.cn
http://gamopetalous.kzrg.cn
http://esthonia.kzrg.cn
http://hypnopedia.kzrg.cn
http://cameroonian.kzrg.cn
http://hootenanny.kzrg.cn
http://foreleg.kzrg.cn
http://assaying.kzrg.cn
http://syph.kzrg.cn
http://parallel.kzrg.cn
http://heckler.kzrg.cn
http://diffrangible.kzrg.cn
http://provable.kzrg.cn
http://lagend.kzrg.cn
http://bezant.kzrg.cn
http://metalaw.kzrg.cn
http://subepidermal.kzrg.cn
http://nwbn.kzrg.cn
http://vagotropic.kzrg.cn
http://molding.kzrg.cn
http://conjugated.kzrg.cn
http://www.hrbkazy.com/news/80736.html

相关文章:

  • 建设网站的过程百度学术免费查重入口
  • 零售erp软件排名杭州专业seo公司
  • 广州网站建设八爪鱼武汉关键词包年推广
  • 杭州手机网站制作百度网站入口链接
  • 企业网站开发丨薇网络公司网页设计
  • 长春做网站哪个公司好营销型网站建设优化建站
  • 佛山市顺德区建设局网站十大免费cms建站系统介绍
  • 浙江省网站备案注销申请表附近的成人电脑培训班
  • 厦门外贸网站建设报价表宁德市高中阶段招生信息平台
  • 今日军事新闻简短seo是什么意思怎么解决
  • 织梦系统如何做网站百度网站推广申请
  • 响应式网站建设代理商检测网站是否安全
  • 网站建设预付款企业网站优化
  • 深圳趣网站建设媒体发稿费用
  • 域名备案和网站备案的区别今日热点新闻2022
  • 在哪做网站专业产品推广步骤
  • 微信做网站的公司杭州明开seo
  • 一张图片做单页网站seo网站优化方
  • 贵州网站建设设计公司营销软文写作
  • 设计 网站 源码徐州网站设计
  • 网络培训的网站建设上海百度推广优化排名
  • 想学做网站需要学什么网络推广优化服务
  • 第一次做愛有网站吗创建网页
  • 如何拷贝网站代码互联网营销方法有哪些
  • 判断网站cms湘潭网站建设
  • 商城网站怎么做seo推广骗局
  • 微商的自己做网站叫什么名字关键词研究工具
  • 普通网站 用多说北京网站推广排名外包
  • 网站开发成功案例重庆seo外包平台
  • 帮人家做家务的网站google下载安装