当前位置: 首页 > 知识库问答 >
问题:

pdfbox-pdftextstripper的processTextPosition是否保证阅读顺序?

栾英资
2023-03-14

共有1个答案

汪德明
2023-03-14

pdftextstripper有一个属性SortByPosition(getsortbyPosition&setsortbyPosition)。默认为false

如果此属性为false,则pdftextstripper实质上是按照文本在PDF页面内容流中出现的顺序提取文本。

这种顺序可能完全混乱(因为在内容流中,您使用运算符,可以将下一个打印文本定位在页面的任何位置),但通常属于一起的文本部分会被保留在一起(因为这些部分所需的操作通常作为一个块插入到该流中)。

然而,页眉和页脚通常是同时添加的,因此,它们一起出现在正文文本之前或之后。

如果此属性为true,pdftextstripper实质上是从上到下、从左到右提取文本(除非读取顺序定义为从右到左)。(好吧,好吧,它也尊重文章珠,但你几乎不能指望它们被普遍使用。)

对于只有一列的文本来说,这种顺序很好,页眉在前,页脚在后,但是除非使用适当的文章珠,否则多列的页面会被弄乱。

 类似资料:
  • 问题内容: 我认为使用某种顺序才有意义。我想做的是在视图中包括该子句,以便该视图上的所有s都可以忽略它。但是,我担心该订单不一定会延续到,因为它没有指定订单。 是否存在一种情况,即视图指定的顺序不会反映在该视图上的select结果中(该视图中的order by子句除外)? 问题答案: 您不能指望没有显式子句的任何查询中的行顺序。如果查询有序视图,但没有包括子句,则如果它们的顺序正确,请感到惊喜,并

  • 问题内容: 如果我创建这样的对象: 生成的对象会 总是 这样吗? 也就是说,属性的顺序是否与我添加它们的顺序相同? 问题答案: 自ES2015起,对象的迭代顺序遵循一组特定的规则,但不(始终)遵循插入顺序。简而言之,迭代顺序是字符串键的插入顺序和数字键的升序的组合: 使用数组或Map对象可能是实现此目的的更好方法。Map与密钥共享一些相似之处Object并保证密钥按插入顺序进行迭代,无一例外: M

  • 问题内容: 我特别想知道PostgreSQL。给出以下人为的示例: 从外部查询返回的名称是否保证与内部查询的顺序相同? 问题答案: 不,在外部查询中按以下顺序排序: 内部(子)查询返回结果集。如果按此顺序进行排序,则保证从内部(子)查询传递到外部查询的中间结果集将按照您指定的方式进行排序,但是在外部查询中不对结果进行排序通过处理内部查询结果集生成的结果集,不能保证以任何方式进行排序。

  • 问题内容: 假设我在bash中有一个for循环,如下所示: 是否保证了迭代的顺序,即循环将始终以相同的顺序处理文件吗?如果可以保证,顺序是否按字母顺序? 问题答案: 根据bash手册页: 路径名扩展 拆分单词后,除非已设置-f选项,否则bash会在每个单词中扫描字符* 、?和[。如果出现这些字符之一,则将该单词视为一个模式,并替换为与该模式匹配的文件名按字母顺序排列的列表(请参见下面的“模式匹配”

  • 我在使用pdfbox阅读pdf时遇到了一个问题。我的实际pdf部分不可读,所以当我在编辑器中复制和粘贴不可读的部分时,它会显示小方框符号,但当我试图通过pdfbox读取同一文件时,这些字符不会被读取(我也不希望它们被读取)。我希望我至少能得到一些符号或随机字符,而不是实际的字符。有没有办法做到这一点。该行已被选中,因此它不是图像。有人找到解决办法了吗? 有一个pdfbox示例,我们在pdfText

  • 问题内容: 我知道有一个可预测的迭代顺序(插入顺序)。是否Set通过返回和返回的也维持这种秩序? 问题答案: Map界面提供了三个 集合视图,这些视图允许将地图的内容视为一组键,值的集合或一组键-值映射。该订单的地图被定义为其中在地图上的集合视图迭代返回元素的顺序。某些地图实现(例如TreeMap 类)会对其顺序做出具体保证;其他人,例如 上课者 -Map 此链表定义了迭代顺序,通常是将键插入映射