Agregar encabezado a PDF

Aspose.PDF for Python via .NET proporciona la fachada PdfFileStamp para agregar contenido repetido a paginas PDF. Puede usarla para colocar texto o imagenes de encabezado en la parte superior de cada pagina y ajustar los margenes del encabezado para controlar la ubicacion.

Agregar un encabezado de texto

Use add_header() con un objeto FormattedText cuando desee colocar el mismo texto de encabezado en todas las paginas del PDF. El segundo argumento define el margen superior para el encabezado.

import sys
from os import path

import aspose.pydrawing as ap_pydrawing
import aspose.pdf.facades as pdf_facades

from config import initialize_data_dir, set_license


def add_text_header(infile: str, outfile: str) -> None:
    """Add a text header with a top margin."""
    pdf_stamper = pdf_facades.PdfFileStamp()
    try:
        pdf_stamper.bind_pdf(infile)
        text = pdf_facades.FormattedText("Sample Header")
        pdf_stamper.add_header(text, 20)
        pdf_stamper.save(outfile)
    finally:
        pdf_stamper.close()

Agregar un encabezado de imagen

Use add_header() con un archivo de imagen o un flujo de imagen cuando el encabezado deba mostrar un logotipo u otro grafico. Esto es util para disenos de documentos con marca.

import sys
from os import path

import aspose.pydrawing as ap_pydrawing
import aspose.pdf.facades as pdf_facades

from config import initialize_data_dir, set_license


def add_image_header(infile: str, image_file: str, outfile: str) -> None:
    """Add an image header with a top margin."""
    pdf_stamper = pdf_facades.PdfFileStamp()
    try:
        pdf_stamper.bind_pdf(infile)
        pdf_stamper.add_header(image_file, 20)
        pdf_stamper.save(outfile)
    finally:
        pdf_stamper.close()

Agregar un encabezado con margenes personalizados

Use la sobrecarga con tres valores de margen cuando necesite mas control sobre la ubicacion del encabezado. En este ejemplo, el encabezado se agrega con margenes superior, izquierdo y derecho personalizados.

import sys
from os import path

import aspose.pydrawing as ap_pydrawing
import aspose.pdf.facades as pdf_facades

from config import initialize_data_dir, set_license


def add_header_with_margins(infile: str, outfile: str) -> None:
    """Add a text header with top, left, and right margins."""
    pdf_stamper = pdf_facades.PdfFileStamp()
    try:
        pdf_stamper.bind_pdf(infile)
        text = pdf_facades.FormattedText(
            text="Sample Header",
            text_color=ap_pydrawing.Color.blue,
            font_name="Arial",
            text_encoding=pdf_facades.EncodingType.WINANSI,
            embedded=True,
            font_size=12.0,
        )
        pdf_stamper.add_header(text, 20, 20, 20)
        pdf_stamper.save(outfile)
    finally:
        pdf_stamper.close()