使用 iText 删除指定区域中出现的文本
Remove text occurrences contained in a specified area with iText
是否可以使用 iText 删除 pdf 文档的指定区域(红色矩形区域)中包含的所有文本?
请查看 RemoveContentInRectangle 示例。
假设我们有以下页面:
现在我们要删除坐标定义的矩形中的所有文本:llx = 97, lly = 405, urx = 480, ury = 445]
(其中ll
代表lower-left,ur
代表upper-right).
我们现在可以使用下面的代码:
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
List<PdfCleanUpLocation> cleanUpLocations = new ArrayList<PdfCleanUpLocation>();
cleanUpLocations.add(new PdfCleanUpLocation(1, new Rectangle(97f, 405f, 480f, 445f), BaseColor.GRAY));
PdfCleanUpProcessor cleaner = new PdfCleanUpProcessor(cleanUpLocations, stamper);
cleaner.cleanUp();
stamper.close();
reader.close();
}
如您所见,我们定义了一个包含 PdfCleanUpLocation
个对象的列表。在这个列表中,我们添加了一个 PdfCleanUpLocation
来传递页码,一个 Rectangle
定义了我们要清理的区域,以及一个颜色来显示内容已被删除的区域。
然后我们将 PdfCleanUpLocation
的列表与 PdfStamper
实例一起传递给 PdfCleanUpProcessor
。我们调用 cleanUp()
方法,当我们关闭 PdfStamper
实例时,我们得到以下结果:
您可以检查此文件:您将无法再select 灰色区域中的任何文本。该矩形内的所有文本已被删除。
请注意,只有将 itext-xtra.jar 添加到 CLASSPATH(itext-xtra 随 iText 核心一起提供),此代码示例才会起作用。它只适用于等于或高于 iText 5.5.4 的版本。
是否可以使用 iText 删除 pdf 文档的指定区域(红色矩形区域)中包含的所有文本?
请查看 RemoveContentInRectangle 示例。
假设我们有以下页面:
现在我们要删除坐标定义的矩形中的所有文本:llx = 97, lly = 405, urx = 480, ury = 445]
(其中ll
代表lower-left,ur
代表upper-right).
我们现在可以使用下面的代码:
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
List<PdfCleanUpLocation> cleanUpLocations = new ArrayList<PdfCleanUpLocation>();
cleanUpLocations.add(new PdfCleanUpLocation(1, new Rectangle(97f, 405f, 480f, 445f), BaseColor.GRAY));
PdfCleanUpProcessor cleaner = new PdfCleanUpProcessor(cleanUpLocations, stamper);
cleaner.cleanUp();
stamper.close();
reader.close();
}
如您所见,我们定义了一个包含 PdfCleanUpLocation
个对象的列表。在这个列表中,我们添加了一个 PdfCleanUpLocation
来传递页码,一个 Rectangle
定义了我们要清理的区域,以及一个颜色来显示内容已被删除的区域。
然后我们将 PdfCleanUpLocation
的列表与 PdfStamper
实例一起传递给 PdfCleanUpProcessor
。我们调用 cleanUp()
方法,当我们关闭 PdfStamper
实例时,我们得到以下结果:
您可以检查此文件:您将无法再select 灰色区域中的任何文本。该矩形内的所有文本已被删除。
请注意,只有将 itext-xtra.jar 添加到 CLASSPATH(itext-xtra 随 iText 核心一起提供),此代码示例才会起作用。它只适用于等于或高于 iText 5.5.4 的版本。