Работа с фигурами в файле PS | Питон

Добавьте фигуры в документ PS

Добавить прямоугольник в PS

Чтобы вставить прямоугольник в PsDocument с помощью Aspose.Page для Python через библиотеку .NET, выполните следующие действия:

  1. Создайте выходной поток для полученного PS-файла.
  2. Создайте объект PsSaveOptions с параметрами по умолчанию.
  3. Создайте одностраничный PsDocument с уже созданным потоком вывода и сохраните параметры.
  4. Создайте прямоугольник aspose.pydrawing.GraphicsPath на основе прямоугольника.
  5. Установите отрисовку текущего графического состояния PsDocument.
  6. Заполните прямоугольник.
  7. Закройте страницу.
  8. Сохраните документ.

Для обводки (обводки) прямоугольника первые 4 и последние 2 шага будут одинаковыми, а вот 5-й и 6-й будут:

  1. Установите обводку в соответствии с текущим графическим состоянием PsDocument.
  2. Обведите (обведите) прямоугольник.
 1# The path to the documents directory.
 2data_dir = Util.get_data_dir_working_with_shapes()
 3
 4# Create an output stream for the PostScript document
 5with open(data_dir + "AddRectangle_outPS.ps", "wb") as out_ps_stream:
 6    # Create save options with A4 size
 7    options = PsSaveOptions()
 8    
 9    # Create a new 1-paged PS Document
10    document = PsDocument(out_ps_stream, options, False)
11    
12    # Create a graphics path from the first rectangle
13    path = aspose.pydrawing.drawing2d.GraphicsPath()
14    path.add_rectangle(aspose.pydrawing.RectangleF(250, 100, 150, 100))
15    # Set the paint
16    document.set_paint(aspose.pydrawing.SolidBrush(aspose.pydrawing.Color.orange))
17    # Fill the rectangle
18    document.fill(path)
19    
20    # Create a graphics path from the second rectangle
21    path = aspose.pydrawing.drawing2d.GraphicsPath()
22    path.add_rectangle(aspose.pydrawing.RectangleF(250, 300, 150, 100))
23    # Set stroke
24    document.set_stroke(GraphicsFactory.create_pen_by_brush_and_width(aspose.pydrawing.SolidBrush(aspose.pydrawing.Color.red), 3))
25    # Stroke (outline) the rectangle
26    document.draw(path)
27    
28    # Close the current page
29    document.close_page()
30    
31    # Save the document
32    document.save()

См. работу с фигурами в документах PS в .NET, Java.

Результат запуска этого кода:

Добавить прямоугольник

Добавить Эллипс в PS

Чтобы добавить эллипс в PsDocument также необходимо выполнить 8 шагов:

  1. Создайте выходной поток для полученного PS-файла.
  2. Создайте объект PsSaveOptions с параметрами по умолчанию.
  3. Создайте одностраничный PsDocument с уже созданным потоком вывода и сохраните параметры.
  4. Создайте эллипс aspose.pydrawing.drawing2d.GraphicsPath из прямоугольника.
  5. Установите для краски текущее состояние графики PsDocument.
  6. Заполните контур эллипса.
  7. Закройте страницу.
  8. Сохраните документ.

Чтобы обвести (очертить) эллипс, первые 4 и последние 2 шага будут одинаковыми, а 5-й и 6-й будут:

  1. Установите для штриха текущее графическое состояние PsDocument.
  2. Обведите (обведите) эллипс.
 1# The path to the documents directory.
 2data_dir = Util.get_data_dir_working_with_shapes()
 3
 4# Create an output stream for PostScript document
 5with open(data_dir + "AddEllipse_outPS.ps", "wb") as out_ps_stream:
 6    # Create save options with the A4 size
 7    options = PsSaveOptions()
 8    
 9    # Create a new 1-paged PS Document
10    document = PsDocument(out_ps_stream, options, False)
11    
12    # Create a graphics path from the first ellipse
13    path = aspose.pydrawing.drawing2d.GraphicsPath()
14    path.add_ellipse(aspose.pydrawing.RectangleF(250, 100, 150, 100))
15    # Set the paint
16    document.set_paint(aspose.pydrawing.SolidBrush(aspose.pydrawing.Color.orange))
17    # Fill the ellipse
18    document.fill(path)
19    
20    # Create a graphics path from the second ellipse
21    path = aspose.pydrawing.drawing2d.GraphicsPath()
22    path.add_ellipse(aspose.pydrawing.RectangleF(250, 300, 150, 100))
23    # Set the stroke
24    document.set_stroke(GraphicsFactory.create_pen_by_brush_and_width(aspose.pydrawing.SolidBrush(aspose.pydrawing.Color.red), 3))
25    # Stroke (outline) the ellipse
26    document.draw(path)
27    
28    # Close the current page
29    document.close_page()
30    
31    # Save the document
32    document.save()

Результат запуска этого кода:

Добавить эллипс

Как мы видим, любую фигуру, как закрытую, так и незамкнутую, можно заполнить или нарисовать с помощью PsDocument. Его тоже можно обрезать, но об этом будет рассказано в другой статье.

Вы можете загрузить примеры и файлы данных с сайта GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.