这个简短的教程描述了如何使用 Java 删除 PDF 中的文本。它包含配置环境的所有详细信息,并提供运行示例代码以使用 Java 在 Adobe PDF 中划出文本。您将了解加载 PDF 并删除加载的 PDF 文件中文本的特定实例或所有实例的过程。
使用 Java 在 Adobe PDF 中删除文本的步骤
- 设置 IDE 以添加 Aspose.PDF for Java 以删除文本
- 使用 Document 类对象加载目标 PDF 文件并访问目标页面以删除文本
- 创建用于搜索文本的 TextFragmentAbsorber 对象
- 解析 PDF 文档以搜索给定文本的所有实例并将它们保存在一个集合中
- 创建一个 StrikeOutAnnotation 对象以删除在文档中找到的文本的特定实例
- 设置注释颜色和标题
- 将生成的 PDF 文件保存在磁盘上,其中包含删除线文本
这些步骤解释了如何使用 Java 在 Adobe PDF 中删除文本的过程。介绍了完成任务所需的所有必要类、方法和属性,例如 Document 类用于加载 PDF 文件,TextFragmentAbsorber 类对象用于定义和搜索 PDF 文件中的文本,StrikeOutAnnotation 对象用于定义删除线注释并将其应用于文本的特定实例。这些步骤中还描述了删除线注释的自定义。
使用 Java 在 PDF 中删除文本的代码
package TestPackage; | |
import com.aspose.pdf.Color; | |
import com.aspose.pdf.Document; | |
import com.aspose.pdf.Page; | |
import com.aspose.pdf.StrikeOutAnnotation; | |
import com.aspose.pdf.TextFragment; | |
import com.aspose.pdf.TextFragmentAbsorber; | |
import com.aspose.pdf.internal.html.dom.Text; | |
public class TestClass { | |
public static void main(String[] args) { | |
// Load the target PDF file | |
Document document = new Document("SamplePdf.pdf"); | |
// Define a TextFragmentAbsorber object to search a text | |
TextFragmentAbsorber tfa = new TextFragmentAbsorber("Hello"); | |
tfa.visit(document.getPages().get_Item(1)); | |
if(tfa.getTextFragments().size() > 0) | |
{ | |
//Create annotations | |
StrikeOutAnnotation strikeOutAnnotation = new StrikeOutAnnotation(document.getPages().get_Item(1),tfa.getTextFragments().get_Item(1).getRectangle()); | |
strikeOutAnnotation.setTitle("Aspose User"); | |
strikeOutAnnotation.setColor(Color.getBlue()); | |
document.getPages().get_Item(1).getAnnotations().add(strikeOutAnnotation); | |
document.save("sample_mod.pdf"); | |
} | |
System.out.println("Done"); | |
} | |
} |
此代码演示如何使用 Java 在 Adobe Acrobat 中删除。它通过提供要在 PDF 文件的特定页面上搜索的字符串数据来初始化 TextFragmentAbsorber 对象。一旦搜索到的文本实例集合准备就绪,将通过提供目标 PDF 页面和要删除的选定文本实例的矩形来创建 StrikeOutAnnotation 对象。这样,您可以只删除搜索文本的选定实例,也可以解析整个集合并删除所有实例。
这篇文章告诉我们一个有趣的功能,可以自动删除单个页面或 PDF 文件所有页面上的特定文本。如果您想了解在 PDF 中查找和替换文本的过程,请参阅 如何使用 Java 查找和替换 PDF 中的文本 上的文章。