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:
- Créer un nouveau PDF Document.
- Ajouter Page à la collection de pages du fichier PDF.
- Ajouter TextFragment vers la collection de paragraphes de l’instance de page.
- Créer Graph instance.
- Définir la bordure pour Objet Graph.
- Ajouter Rectangle objet vers la collection de formes de l’objet Graph.
- Ajouter l’objet graphique à la collection de paragraphes de l’instance de page.
- Ajouter TextFragment vers la collection de paragraphes de l’instance de page.
- 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 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 :

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)

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)

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)
