Adicionar Carimbos de Texto em PDF via Python

Adicionar Carimbo de Texto com Python

Você pode usar a classe TextStamp para adicionar um carimbo de texto em um arquivo PDF. A classe TextStamp fornece propriedades necessárias para criar um carimbo baseado em texto, como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar um carimbo de texto, você precisa criar um objeto Document e um objeto TextStamp usando as propriedades necessárias. Após isso, você pode chamar o método add_stamp() da Página para adicionar o carimbo no PDF. O trecho de código a seguir mostra como adicionar um carimbo de texto no arquivo PDF.


    import aspose.pdf as ap

    # Abrir documento
    document = ap.Document(input_pdf)

    # Criar carimbo de texto
    text_stamp = ap.TextStamp("Carimbo de Exemplo")
    # Definir se o carimbo é de fundo
    text_stamp.background = True
    # Definir origem
    text_stamp.x_indent = 100
    text_stamp.y_indent = 100
    # Rotacionar carimbo
    text_stamp.rotate = ap.Rotation.ON90
    # Definir propriedades do texto
    text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
    text_stamp.text_state.font_size = 14.0
    text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
    text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
    text_stamp.text_state.foreground_color = ap.Color.aqua
    # Adicionar carimbo a uma página específica
    document.pages[1].add_stamp(text_stamp)

    # Salvar documento de saída
    document.save(output_pdf)

Definir alinhamento para o objeto TextStamp

Adicionar marcas d’água a documentos PDF é um dos recursos frequentemente exigidos e o Aspose.PDF para Python é totalmente capaz de adicionar marcas d’água de imagem, bem como de texto. Temos uma classe chamada TextStamp que fornece o recurso de adicionar carimbos de texto sobre o arquivo PDF. Recentemente, houve a necessidade de suportar o recurso de especificar o alinhamento do texto ao usar o objeto TextStamp. Portanto, para atender a esse requisito, introduzimos a propriedade text_alignment na classe TextStamp. Usando essa propriedade, podemos especificar o alinhamento de texto horizontal_alignment.

Os trechos de código a seguir mostram um exemplo de como carregar um documento PDF existente e adicionar TextStamp sobre ele.


    import aspose.pdf as ap

    # Instanciar objeto Document com arquivo de entrada
    doc = ap.Document(input_pdf)
    # Instanciar objeto FormattedText com string de exemplo
    text = ap.facades.FormattedText("This")
    # Adicionar nova linha de texto ao FormattedText
    text.add_new_line_text("is sample")
    text.add_new_line_text("Center Aligned")
    text.add_new_line_text("TextStamp")
    text.add_new_line_text("Object")
    # Criar objeto TextStamp usando FormattedText
    stamp = ap.TextStamp(text)
    # Especificar o Alinhamento Horizontal do carimbo de texto como Alinhado ao Centro
    stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
    # Especificar o Alinhamento Vertical do carimbo de texto como Alinhado ao Centro
    stamp.vertical_alignment = ap.VerticalAlignment.CENTER
    # Especificar o Alinhamento Horizontal do Texto do TextStamp como Alinhado ao Centro
    stamp.text_alignment = ap.HorizontalAlignment.CENTER
    # Definir margem superior para o objeto de carimbo
    stamp.top_margin = 20
    # Adicionar o objeto de carimbo sobre a primeira página do documento
    doc.pages[1].add_stamp(stamp)

    # Salvar o documento atualizado
    doc.save(output_pdf)

Preencher Texto de Contorno como Carimbo em Arquivo PDF

Implementamos a configuração do modo de renderização para cenários de adição e edição de texto. Para renderizar texto de contorno, por favor, crie um objeto TextState para transferir propriedades avançadas. Defina a cor para o contorno. Depois, defina o modo de renderização de texto. O próximo passo é vincular o TextState e adicionar o Carimbo.

O trecho de código a seguir demonstra a adição de Texto de Contorno Preenchido:


    import aspose.pdf as ap

    # Criar objeto TextState para transferir propriedades avançadas
    ts = ap.text.TextState()
    # Definir cor para o contorno
    ts.stroking_color = ap.Color.gray
    # Definir modo de renderização de texto
    ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
    # Carregar um documento PDF de entrada
    file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))

    stamp = ap.facades.Stamp()
    stamp.bind_logo(
        ap.facades.FormattedText(
            "PAGO INTEGRALMENTE",
            ap.facades.FontColor(100, 100, 100),
            ap.facades.FontStyle.TIMES_ROMAN,
            ap.facades.EncodingType.WINANSI,
            True,
            78.0,
        )
    )

    # Vincular TextState
    stamp.bind_text_state(ts)
    # Definir origem X,Y
    stamp.set_origin(100, 100)
    stamp.opacity = 5
    stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
    stamp.rotation = 45.0
    stamp.is_background = False
    # Adicionar Carimbo
    file_stamp.add_stamp(stamp)
    file_stamp.save(output_pdf)
    file_stamp.close()

{ “@context”: “http://schema.org”, “@type”: “SoftwareApplication”, “name”: “Aspose.PDF para Python via .NET Library”, “image”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “url”: “https://www.aspose.com/", “publisher”: { “@type”: “Organization”, “name”: “Aspose.PDF”, “url”: “https://products.aspose.com/pdf", “logo”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “alternateName”: “Aspose”, “sameAs”: [ “https://facebook.com/aspose.pdf/”, “https://twitter.com/asposepdf”, “https://www.youtube.com/channel/UCmV9sEg_QWYPi6BJJs7ELOg/featured”, “https://www.linkedin.com/company/aspose”, “https://stackoverflow.com/questions/tagged/aspose”, “https://aspose.quora.com/”, “https://aspose.github.io/” ], “contactPoint”: [ { “@type”: “ContactPoint”, “telephone”: “+1 903 306 1676”, “contactType”: “vendas”, “areaServed”: “US”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+44 141 628 8900”, “contactType”: “vendas”, “areaServed”: “GB”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+61 2 8006 6987”, “contactType”: “vendas”, “areaServed”: “AU”, “availableLanguage”: “en” } ] }, “offers”: { “@type”: “Offer”, “price”: “1199”, “priceCurrency”: “USD” }, “applicationCategory”: “Biblioteca de Manipulação de PDF para Python”, “downloadUrl”: “https://www.nuget.org/packages/Aspose.PDF/", “operatingSystem”: “Windows, MacOS, Linux”, “screenshot”: “https://docs.aspose.com/pdf/python-net/create-pdf-document/example.png", “softwareVersion”: “2022.1”, “aggregateRating”: { “@type”: “AggregateRating”, “ratingValue”: “5”, “ratingCount”: “16” } }