编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Java使用Aspose.PDF清理广告文字及链接

wxchong 2024-07-15 10:07:24 开源技术 10 ℃ 0 评论

Aspose.PDF for java

此链接https://kb.aspose.com/zh/pdf/java/是官网API介绍页面,可以看到非常详细的API操作说明。

操作示例

public static void processText(String filePath) {
        Document document = new Document(filePath);
        for (int i = 1; i <= document.getPages().size(); i++) {
            Page page = document.getPages().get_Item(i);
            TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber();
            page.accept(textFragmentAbsorber);
            for (TextFragment textFragment : textFragmentAbsorber.getTextFragments()) {
                System.out.println(textFragment.getText());
                if (textFragment.getText().contains("#TargetText#")) {
                    textFragment.setText(Strings.EMPTY);
                }
            }
        }
        document.save(filePath.replace(".pdf", System.currentTimeMillis() + ".pdf"));
    }

代码说明:

  • 通过PDF地址拿到document对象
  • 通过document遍历pages
  • 创建一个 TextFragmentAbsorber , 关联page,拿到所有TextFragments
  • 遍历TextFragments,通过比对文本#TargetText#,将匹配的文本字符设置为Strings.EMPTY,达到清理的目的
  • 保存为新的含当前时间戳的PDF

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表