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)