Anotasi watermark menggunakan Java

Anotasi watermark memungkinkan Anda menempatkan konten overlay yang dapat digunakan kembali pada sebuah halaman sambil tetap mengelolanya melalui koleksi anotasi.

Menambahkan anotasi watermark

Gunakan contoh ini ketika Anda membutuhkan anotasi watermark teks dengan pengaturan font khusus dan opasitas.

  1. Buka PDF sumber Document.
  2. Buat sebuah WatermarkAnnotation dan tambahkan ke halaman.
  3. Konfigurasikan TextState, teks watermark, dan opasitas, lalu simpan dokumen.
public static void watermarkAdd(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        WatermarkAnnotation watermarkAnnotation = new WatermarkAnnotation(
                page,
                new Rectangle(100, 100, 400, 200, true));

        page.getAnnotations().add(watermarkAnnotation);

        TextState textState = new TextState();
        textState.setForegroundColor(Color.getBlue());
        textState.setFontSize(25);
        textState.setFont(FontRepository.findFont("Arial"));

        watermarkAnnotation.setOpacity(0.5);
        watermarkAnnotation.setTextAndState(new String[]{"HELLO", "Line 1", "Line 2"}, textState);

        document.save(outputFile.toString());
    }
}

Mendapatkan anotasi watermark

Contoh ini memindai koleksi anotasi dan mencetak persegi panjang setiap anotasi watermark.

  1. Buka PDF sumber Document.
  2. Iterasikan melalui anotasi pada halaman target.
  3. Filter anotasi berdasarkan AnnotationType.Watermark dan cetak persegi panjang mereka.
public static void watermarkGet(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        for (Annotation a : document.getPages().get_Item(1).getAnnotations()) {
            if (a.getAnnotationType() == AnnotationType.Watermark) {
                System.out.println(a.getRect());
            }
        }
    }
}

Menghapus anotasi watermark

Gunakan pendekatan ini ketika anotasi watermark yang ada harus dihapus dari dokumen.

  1. Buka PDF sumber Document.
  2. Kumpulkan anotasi jenis AnnotationType.Watermark.
  3. Hapus anotasi yang terkumpul dan simpan file output.
public static void watermarkDelete(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        List<Annotation> toDelete = new ArrayList<>();
        for (Annotation a : document.getPages().get_Item(1).getAnnotations()) {
            if (a.getAnnotationType() == AnnotationType.Watermark) {
                toDelete.add(a);
            }
        }
        for (Annotation a : toDelete) {
            document.getPages().get_Item(1).getAnnotations().delete(a);
        }
        document.save(outputFile.toString());
    }
}

Topik anotasi terkait