Линия
Создать простую линию
Чтобы добавить простую линию на выбранный слайд презентации, выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Line с помощью метода addAutoShape объекта ShapeCollection.
- Запишите изменённую презентацию в файл PPTX.
В приведённом ниже примере мы добавили линию на первый слайд презентации.
// Создайте экземпляр класса PresentationEx, который представляет файл PPTX
var pres = new aspose.slides.Presentation();
try {
// Получите первый слайд
var sld = pres.getSlides().get_Item(0);
// Добавьте AutoShape типа line
sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
// Сохраните PPTX на диск
pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Создать линию в виде стрелки
Aspose.Slides for Node.js via Java также позволяет разработчикам настраивать некоторые свойства линии, чтобы она выглядела более привлекательно. Давайте попробуем настроить несколько свойств линии, чтобы она выглядела как стрелка. Выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Line с помощью метода addAutoShape объекта ShapeCollection.
- Установите Line Style в один из стилей, предлагаемых Aspose.Slides for Node.js via Java.
- Установите ширину линии.
- Установите Dash Style линии в один из стилей, предлагаемых Aspose.Slides for Node.js via Java.
- Установите Arrow Head Style и Length начальной точки линии.
- Установите Arrow Head Style и Length конечной точки линии.
- Запишите изменённую презентацию в файл PPTX.
// Создайте экземпляр класса PresentationEx, который представляет файл PPTX
var pres = new aspose.slides.Presentation();
try {
// Получите первый слайд
var sld = pres.getSlides().get_Item(0);
// Добавьте AutoShape типа line
var shp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
// Примените некоторое форматирование к линии
shp.getLineFormat().setStyle(aspose.slides.LineStyle.ThickBetweenThin);
shp.getLineFormat().setWidth(10);
shp.getLineFormat().setDashStyle(aspose.slides.LineDashStyle.DashDot);
shp.getLineFormat().setBeginArrowheadLength(aspose.slides.LineArrowheadLength.Short);
shp.getLineFormat().setBeginArrowheadStyle(aspose.slides.LineArrowheadStyle.Oval);
shp.getLineFormat().setEndArrowheadLength(aspose.slides.LineArrowheadLength.Long);
shp.getLineFormat().setEndArrowheadStyle(aspose.slides.LineArrowheadStyle.Triangle);
shp.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.newInstanceSync("java.awt.Color", aspose.slides.PresetColor.Maroon));
// Сохраните PPTX на диск
pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
Могу ли я преобразовать обычную линию в соединитель, чтобы она «привязывалась» к объектам?
Нет. Обычная линия (это AutoShape типа Line) не преобразуется автоматически в соединитель. Чтобы привязать её к объектам, используйте специализированный тип Connector и соответствующие API для соединений.
Что делать, если свойства линии унаследованы из темы и трудно определить окончательные значения?
Прочитайте эффективные свойства через классы ILineFormatEffectiveData/ILineFillFormatEffectiveData — они уже учитывают наследование и стили темы.
Могу ли я заблокировать линию от редактирования (перемещения, изменения размеров)?
Да. Фигуры предоставляют объекты блокировки, позволяющие запретить операции редактирования.