Anotações de Marca d'água usando Python
Este artigo mostra como trabalhar com anotações de marca d’água em documentos PDF usando Aspose.PDF for Python via .NET.
O script de exemplo demonstra três fluxos de trabalho comuns:
- adicionar uma anotação de marca d’água
- obter retângulos de anotação de marca d’água
- excluir anotações de marca d’água
Adicionar Anotação de Marca d’água
Este exemplo adiciona uma anotação de marca d’água à primeira página de um documento PDF. A marca d’água usa um estado de texto para controlar as configurações de fonte e aplica opacidade personalizada para uma aparência semitransparente.
Abra o PDF e obtenha a página de destino
document = ap.Document(infile)
page = document.pages[1]
Criar a anotação de marca d’água
Defina o retângulo da anotação e adicione-o à coleção de anotações da página.
watermark_annotation = ap.annotations.WatermarkAnnotation(
page,
ap.Rectangle(100, 100, 400, 200, True),
)
page.annotations.append(watermark_annotation)
Configure a aparência do texto
Criar um TextState objeto para controlar a cor do texto, o tamanho da fonte e a família da fonte.
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")
Definir opacidade e texto da marca d’água
O exemplo usa opacidade de 50% e escreve três linhas de texto na anotação de marca d’água.
watermark_annotation.opacity = 0.5
watermark_annotation.set_text_and_state(["HELLO", "Line 1", "Line 2"], text_state)
Salvar o PDF
document.save(outfile)
Exemplo completo
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)
Obter Anotação de Marca d’água
Para inspecionar anotações de marca d’água existentes, filtre as anotações da primeira página pelo WATERMARK digite e imprima seus retângulos.
Carregue o documento e colete as anotações de marca d’água
document = ap.Document(infile)
watermark_annotations = [
a
for a in document.pages[1].annotations
if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
]
Imprima os retângulos de anotação
for watermark_annotation in watermark_annotations:
print(watermark_annotation.rect)
Exemplo completo
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)
Excluir anotação de marca d’água
Este fluxo de trabalho remove todas as anotações de marca d’água da primeira página e salva o PDF atualizado.
Encontrar anotações de marca d’água para remover
document = ap.Document(infile)
watermark_annotations = [
a
for a in document.pages[1].annotations
if a.annotation_type == ap.annotations.AnnotationType.WATERMARK
]
Exclua as anotações e salve o PDF
for watermark_annotation in watermark_annotations:
document.pages[1].annotations.delete(watermark_annotation)
document.save(outfile)
Exemplo completo
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)