Replace Text On Page With State

Contents
[ ]

Sometimes replacing text in a PDF also requires formatting changes such as color or font size. Using TextState, you can define styling properties and apply them during replacement. This allows you to highlight modified text or enforce consistent formatting across documents.

  1. Create a PdfContentEditor instance.
  2. Bind the input PDF document.
  3. Define a TextState with custom formatting.
  4. Configure the replacement strategy.
  5. Replace text on a specific page.
  6. Save the updated PDF document.
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
import sys
from os import path

sys.path.append(path.join(path.dirname(__file__), ".."))

from config import set_license, initialize_data_dir


def replace_text_on_page_with_state(infile, outfile):
    # Create PdfContentEditor object
    content_editor = pdf_facades.PdfContentEditor()
    # Bind document to PdfContentEditor
    content_editor.bind_pdf(infile)

    text_state = ap.text.TextState()
    text_state.foreground_color = ap.Color.red
    text_state.font_size = 12

    # Replace text on a specific page with explicit text formatting
    content_editor.replace_text_strategy.replace_scope = (
        pdf_facades.ReplaceTextStrategy.Scope.REPLACE_ALL
    )
    content_editor.replace_text("software", 1, "SOFTWARE PAGE 1", text_state)
    # Save updated document
    content_editor.save(outfile)