Anotasi Watermark menggunakan Python

Artikel ini menunjukkan cara bekerja dengan anotasi watermark dalam dokumen PDF menggunakan Aspose.PDF for Python via .NET.

Skrip contoh menunjukkan tiga alur kerja umum:

  • tambahkan anotasi watermark
  • ambil persegi panjang anotasi watermark
  • hapus anotasi watermark

Tambahkan Anotasi Watermark

Contoh ini menambahkan anotasi watermark ke halaman pertama dokumen PDF. Watermark menggunakan keadaan teks untuk mengontrol pengaturan Font dan menerapkan opacity khusus untuk tampilan semi-transparan.

Buka PDF dan dapatkan halaman target

document = ap.Document(infile)
page = document.pages[1]

Buat anotasi watermark

Definisikan persegi panjang anotasi dan tambahkan ke koleksi anotasi halaman.

watermark_annotation = ap.annotations.WatermarkAnnotation(
    page,
    ap.Rectangle(100, 100, 400, 200, True),
)

page.annotations.append(watermark_annotation)

Konfigurasikan tampilan teks

Buat sebuah TextState objek untuk mengontrol warna teks, ukuran font, dan keluarga font.

text_state = ap.text.TextState()
text_state.foreground_color = ap.Color.blue
text_state.font_size = 25
text_state.font = ap.text.FontRepository.find_font("Arial")

Atur opasitas dan teks watermark

Contoh tersebut menggunakan opasitas 50% dan menulis tiga baris teks ke anotasi watermark.

watermark_annotation.opacity = 0.5
watermark_annotation.set_text_and_state(["HELLO", "Line 1", "Line 2"], text_state)

Simpan PDF

document.save(outfile)

Contoh lengkap

def watermark_add(infile, outfile):
    document = ap.Document(infile)
    page = document.pages[1]

    watermark_annotation = ap.annotations.WatermarkAnnotation(
        page,
        ap.Rectangle(100, 100, 400, 200, True),
    )

    page.annotations.append(watermark_annotation)

    text_state = ap.text.TextState()
    text_state.foreground_color = ap.Color.blue
    text_state.font_size = 25
    text_state.font = ap.text.FontRepository.find_font("Arial")

    watermark_annotation.opacity = 0.5
    watermark_annotation.set_text_and_state(["HELLO", "Line 1", "Line 2"], text_state)

    document.save(outfile)

Dapatkan Anotasi Watermark

Untuk memeriksa anotasi watermark yang ada, filter anotasi halaman pertama berdasarkan WATERMARK ketik dan cetak persegi panjang mereka.

Muat dokumen dan kumpulkan anotasi watermark

document = ap.Document(infile)
watermark_annotations = [
    a
    for a in document.pages[1].annotations
    if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
]

Cetak persegi panjang anotasi

for watermark_annotation in watermark_annotations:
    print(watermark_annotation.rect)

Contoh lengkap

def watermark_get(infile, outfile):
    document = ap.Document(infile)
    watermark_annotations = [
        a
        for a in document.pages[1].annotations
        if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
    ]

    for watermark_annotation in watermark_annotations:
        print(watermark_annotation.rect)

Hapus Anotasi Watermark

Alur kerja ini menghapus semua anotasi watermark dari halaman pertama dan menyimpan PDF yang diperbarui.

Temukan anotasi watermark untuk dihapus

document = ap.Document(infile)
watermark_annotations = [
    a
    for a in document.pages[1].annotations
    if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
]

Hapus anotasi dan simpan PDF

for watermark_annotation in watermark_annotations:
    document.pages[1].annotations.delete(watermark_annotation)

document.save(outfile)

Contoh lengkap

def watermark_delete(infile, outfile):
    document = ap.Document(infile)
    watermark_annotations = [
        a
        for a in document.pages[1].annotations
        if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
    ]

    for watermark_annotation in watermark_annotations:
        document.pages[1].annotations.delete(watermark_annotation)

    document.save(outfile)

Topik Terkait