Adicionar formas de retângulo ao PDF em Python
Adicionar objeto Rectangle
Aspose.PDF for Python via .NET permite que você adicione Rectangle formas para páginas PDF através do Graph classe. Você pode desenhar retângulos contornados e aplicar preenchimentos sólidos, gradientes ou transparentes.
Siga os passos abaixo:
- Criar um novo PDF Document.
- Adicionar Page para a coleção de páginas do arquivo PDF.
- Adicionar TextFragment para a coleção de parágrafos da instância da página.
- Criar Graph instância.
- Definir borda para Graph objeto.
- Adicionar Rectangle objeto para a coleção de formas do objeto Graph.
- Adicionar objeto de gráfico à coleção de parágrafos da instância de página.
- Adicionar TextFragment para a coleção de parágrafos da instância da página.
- E salve seu arquivo 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)

Criar Objeto Retângulo Preenchido
Aspose.PDF for Python via .NET também oferece o recurso de preencher o objeto retângulo com uma certa cor.
O trecho de código a seguir mostra como adicionar um Rectangle objeto que está preenchido com cor.
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)
Resultado do retângulo preenchido com uma cor sólida:

Adicionar Desenho com Preenchimento em Degradê
O Aspose.PDF for Python via .NET oferece o recurso de adicionar objetos de gráfico a documentos PDF e, às vezes, é necessário preencher os objetos de gráfico com Cor em Degradê.
O trecho de código a seguir mostra como adicionar um Rectangle objeto que está preenchido com Cor em Degradê.
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)

Criar Retângulo com Canal de Cor Alfa
Aspose.PDF for Python via .NET também suporta transparência por meio de um canal de cor alfa.
O trecho de código a seguir mostra como adicionar um Rectangle objeto com valores alfa.
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)

Controlar a Ordem Z das formas
Aspose.PDF for .NET suporta o recurso de adicionar objetos gráficos (por exemplo gráfico, linha, retângulo etc.) a documentos PDF. Ao adicionar mais de uma instância do mesmo objeto dentro do arquivo PDF, podemos controlar sua renderização especificando a Ordem Z. A Ordem Z também é usada quando precisamos renderizar objetos um sobre o outro.
O fragmento de código a seguir mostra as etapas para renderizar Rectangle objetos uns sobre os outros.
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)
