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

iText处理过程中通过属性识别下划线和罢工pdf

宇文俊明
2023-03-14

根据一些q。

例如,识别下划线意味着从一个TextRenderInfo对象开始,扫描所有ShapeRederInfo以尝试匹配(矩形包含/相交…等)

我的想法是通过从TextRenderInfo和ShapeRenderInfo中获取Rectangles2D并检查它们之间的包含/交叉来识别下划线。

我正在做的事情意味着当前iText将事件传递给RenderListener的方式发生了明显的变化,因为它们当前是在pdf流中传播的,相反,我需要首先收集XxxxxRenderObject,然后在页面结束时传递,从而允许通过矩形进行搜索。

简而言之:TextRenderInfo上的isunderline()方法,将开始扫描收集的形状,试图将图形对象矩形与文本矩形相匹配。

除了需要更新RenderListener之外。java允许ShapeRender事件传播,我确实确定了以下可能的解决方案来实现逻辑更改:

1)更新实现新事件传递策略的PdfContentStreamCPU

2)通过插入能够处理逻辑的新层(新侦听器)来屏蔽PdfContentStreamProcessor和RenderListener(s)

我对iText团队的问题是:最好的选择是什么?你有进一步的建议吗?

先谢谢你了

JQ。

共有1个答案

夹谷奇
2023-03-14

由于iText没有提供所有需要的事件,我修改了PdfContentStreamProcessor,添加了必要的PDF命令处理(见PDF参考第8章),然后我写了一个新的处理程序RenderListenerExtended来添加形状处理功能。然后新的逻辑(下划线、上划线等需要...)已按照第2点执行。测试正在进行中。JQ

 类似资料:
  • 本文向大家介绍Python3中_(下划线)和__(双下划线)的用途和区别,包括了Python3中_(下划线)和__(双下划线)的用途和区别的使用技巧和注意事项,需要的朋友参考一下 在看一些Python开源代码时,经常会看到以下划线或者双下划线开头的方法或者属性,到底它们有什么作用,又有什么样的区别呢?今天我们来总结一下(注:下文中的代码在Python3下测试通过) _ 的含义 在python的类中

  • 本文向大家介绍python中单下划线和双下划线分别是什么?相关面试题,主要包含被问及python中单下划线和双下划线分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 name:一种约定,python内部的名字,是用来与用户自动以的名字区分开,防止冲突

  • 问题内容: 如何在CSS3中从左到右创建 下划线动画? 问题答案: 这是一个非常棘手的问题。 唯一的解决办法我能想出是过渡的或我其实应该说我过渡,并让出现,并在同一时间保持,在这种情况下,链接对齐。 很难解释,所以我举了一个简短的例子,它并不完美,看起来有些混乱,但至少可以说明我的意思。:-) HTML 的CSS

  • 我想在Spring Boot应用程序中设置。我想使用环境变量来设置它。 Spring Boot相当方便地将所有环境变量从转换为Spring上下文中称为的属性。 如何在Spring Boot中使用环境变量设置目标名称中有下划线的属性?大概会被翻译成?

  • 我试图标识匹配两个条件(类别和位置)的行div。这将允许我对那些匹配xpath的行执行storeXpathCount--这样我就可以确认显示的行数是正确的。 我有以下HTML: 请注意第二个div中'loc115031397a'后面的空格,因此使用了'contains'和not= 谢谢你的帮助...

  • 谁能帮帮我吗。我有一个物品清单——在我的例子中有啤酒厂。每个酿酒厂都有一些属性(字段),如姓名、地址、id、省份(所在州)等。。。一家酿酒厂(名称)可以位于多个省份。现在我需要解决的问题是:如何计算每个州的啤酒厂数量?所以,按省份分组。所有数据都是从csv文件读取的。我已经创建了返回啤酒厂列表的阅读器。当我尝试这个: 这将返回我键(省)和整个对象作为值。 我已经坐了几个小时了。我没有主意了。