Java 是否可以使用iText按位置查找文本?

Java 是否可以使用iText按位置查找文本?,java,pdf,itext,Java,Pdf,Itext,我有一个PDF文件,在页面的特定区域包含一些行(3);是否可以找到该特定区域中的所有文本,并使用固定字符串重新放置?要找到某个指定区域中的文本,可以创建自己的IEventListener并用它解析页面 有一个iText7官方示例演示了如何以这种方式处理图像。通过收听EventType.RENDER_TEXT而不是EventType.RENDER_IMAGE,您可以轻松地修改它。 正如@mkl在评论中所建议的,可以通过编辑该区域并在其上绘制文本来进行替换。 请注意,仅在要编辑的文本上绘制一个白色

我有一个PDF文件,在页面的特定区域包含一些行(3);是否可以找到该特定区域中的所有文本,并使用固定字符串重新放置?

要找到某个指定区域中的文本,可以创建自己的
IEventListener
并用它解析页面

有一个iText7官方示例演示了如何以这种方式处理图像。通过收听
EventType.RENDER_TEXT
而不是
EventType.RENDER_IMAGE
,您可以轻松地修改它。

正如@mkl在评论中所建议的,可以通过编辑该区域并在其上绘制文本来进行替换。 请注意,仅在要编辑的文本上绘制一个白色div或summat是不够的,因为它仍然存在于页面的内容流中。相反,可以使用iText的。编校代码将查看:

    List <PdfCleanUpLocation> cleanUpLocations = new ArrayList<PdfCleanUpLocation>();
    cleanUpLocations.add(new PdfCleanUpLocation(pageNum, new Rectangle(215, 780, 10, 30), colorToDrawUponTheArea));
PdfCleanUpTool cleaner = new PdfCleanUpTool(pdfDocument, cleanUpLocations);
    cleaner.cleanUp();
List cleanUpLocations=new ArrayList();
添加(新的PdfCleanUpLocation(pageNum,新的矩形(215780,10,30),colortodrawupontheearea));
PdfCleanUpTool cleaner=新的PdfCleanUpTool(pdfDocument,cleanUpLocations);
cleaner.cleanUp();

然后可以使用
ElementPropertyContainer#setFixedPosition
Canvas
将字符串放置在编辑区域。

可以使用itext编辑工具(pdfCleanup)删除该区域中以前的文本,然后在该区域中绘制替换文本。