Ajouter des formes rectangulaires à un PDF en Python

Ajouter l’objet Rectangle

Aspose.PDF for Python via .NET vous permet d’ajouter Rectangle formes vers les pages PDF via le Graph classe. Vous pouvez dessiner des rectangles bordés et appliquer des remplissages pleins, dégradés ou transparents.

Suivez les étapes ci-dessous:

  1. Créer un nouveau PDF Document.
  2. Ajouter Page à la collection de pages du fichier PDF.
  3. Ajouter TextFragment vers la collection de paragraphes de l’instance de page.
  4. Créer Graph instance.
  5. Définir la bordure pour Objet Graph.
  6. Ajouter Rectangle objet vers la collection de formes de l’objet Graph.
  7. Ajouter l’objet graphique à la collection de paragraphes de l’instance de page.
  8. Ajouter TextFragment vers la collection de paragraphes de l’instance de page.
  9. Et enregistrez votre fichier PDF
import aspose.pdf as ap
import aspose.pdf.drawing as drawing

def add_rectangle(outfile: str):
    document = ap.Document()
    page = document.pages.add()
    text_fragment = ap.text.TextFragment("Rectangle")
    page.paragraphs.add(text_fragment)

    graph = drawing.Graph(400, 300)
    page.paragraphs.add(graph)
    graph.border = ap.BorderInfo(ap.BorderSide.ALL, ap.Color.red)

    rect = drawing.Rectangle(20, 20, 350, 250)
    graph.shapes.add(rect)
    page.paragraphs.add(text_fragment)

    document.save(outfile)

Créer un rectangle

Créer un objet rectangle rempli

Aspose.PDF for Python via .NET offre également la fonction de remplir l’objet rectangle avec une certaine couleur.

Le fragment de code suivant montre comment ajouter un Rectangle objet rempli de couleur.

import aspose.pdf as ap
import aspose.pdf.drawing as drawing

def create_rectangle_filled(outfile: str):
    document = ap.Document()
    page = document.pages.add()
    graph = drawing.Graph(100, 400)
    page.paragraphs.add(graph)

    rect = drawing.Rectangle(100, 100, 200, 120)
    rect.graph_info.fill_color = ap.Color.red
    graph.shapes.add(rect)

    document.save(outfile)

Résultat du rectangle rempli avec une couleur unie :

Rectangle rempli

Ajouter un dessin avec remplissage en dégradé

Aspose.PDF for Python via .NET prend en charge la fonctionnalité d’ajouter des objets graphiques aux documents PDF et il est parfois nécessaire de remplir ces objets graphiques avec une couleur en dégradé.

Le fragment de code suivant montre comment ajouter un Rectangle objet rempli avec une couleur en dégradé.

import aspose.pdf as ap
import aspose.pdf.drawing as drawing

def add_drawing_with_gradient_fill(outfile: str):
    document = ap.Document()
    page = document.pages.add()
    graph = drawing.Graph(400, 400)
    page.paragraphs.add(graph)

    rect = drawing.Rectangle(0, 0, 300, 300)
    gradient_color = ap.Color()
    gradient_settings = drawing.GradientAxialShading(ap.Color.red, ap.Color.blue)
    gradient_settings.start = ap.Point(0, 0)
    gradient_settings.end = ap.Point(350, 350)
    gradient_color.pattern_color_space = gradient_settings
    rect.graph_info.fill_color = gradient_color
    graph.shapes.add(rect)

    document.save(outfile)

Rectangle dégradé

Créer un rectangle avec un canal de couleur alpha

Aspose.PDF for Python via .NET prend également en charge la transparence via un canal de couleur alpha.

Le fragment de code suivant montre comment ajouter un Rectangle objet avec des valeurs alpha.

import aspose.pdf as ap
import aspose.pdf.drawing as drawing

def create_rectangle_with_alpha_color_channel(outfile: str):
    document = ap.Document()
    page = document.pages.add()
    graph = drawing.Graph(100, 400)
    page.paragraphs.add(graph)

    rect = drawing.Rectangle(100, 100, 200, 120)
    rect.graph_info.fill_color = ap.Color.from_argb(128, 244, 180, 0)
    graph.shapes.add(rect)

    rect1 = drawing.Rectangle(200, 150, 200, 100)
    rect1.graph_info.fill_color = ap.Color.from_argb(160, 120, 0, 120)
    graph.shapes.add(rect1)

    document.save(outfile)

Couleur du canal Alpha du rectangle

Contrôler l’ordre Z des formes

Aspose.PDF for .NET prend en charge la fonctionnalité d’ajout d’objets graphiques (par exemple graphique, ligne, rectangle, etc.) aux documents PDF. Lors de l’ajout de plusieurs instances du même objet dans un fichier PDF, nous pouvons contrôler leur rendu en spécifiant l’ordre Z. L’ordre Z est également utilisé lorsque nous devons rendre les objets les uns sur les autres.

Le fragment de code suivant montre les étapes pour rendre Rectangle objets les uns sur les autres.

import aspose.pdf as ap
import aspose.pdf.drawing as drawing


def _add_rectangle_to_page(
    page: ap.Page,
    x: float,
    y: float,
    width: float,
    height: float,
    color: ap.Color,
    zindex: int,
):
    graph = drawing.Graph(width, height)
    graph.is_change_position = False
    graph.left = x
    graph.top = y
    rect = drawing.Rectangle(0, 0, width, height)
    rect.graph_info.fill_color = color
    rect.graph_info.color = color
    graph.shapes.add(rect)
    graph.z_index = zindex
    page.paragraphs.add(graph)


def control_z_order_of_rectangle(outfile: str):
    document = ap.Document()
    page = document.pages.add()
    page.set_page_size(375, 300)
    page.page_info.margin.left = 0
    page.page_info.margin.top = 0

    _add_rectangle_to_page(page, 50, 40, 60, 40, ap.Color.red, 2)
    _add_rectangle_to_page(page, 20, 20, 30, 30, ap.Color.blue, 1)
    _add_rectangle_to_page(page, 40, 40, 60, 30, ap.Color.green, 0)

    document.save(outfile)

Contrôle de l’ordre Z

Sujets liés aux graphiques